TRƯỜNG ĐẠI HỌC KHOA HỌC
KHOA CÔNG NGHỆ THÔNG TIN
HỌ VÀ TÊN SINH VIÊN : LÊ VĂN QUÝ
MÃ SINH VIÊN
: 18T1021261
TIỂU LUẬN
Cài đặt một số chức năng cho dự án của Phần mềm quản lý
việc mua bán phụ kiện - thức ăn và ký gửi pet Aka Huế
TÊN LỚP HỌC PHẦN : KỸ NGHỆ PHẦN MỀM - NHÓM 2
MÃ LỚP HỌC PHẦN : 2020-2021.2.TIN3043.002
GIẢNG VIÊN HƯỚNG DẪN : Ts.Lê Văn Tường Lân
HUẾ, THÁNG 6 NĂM 2021
1
Mục lục:
I.
II.
2
Một số chức năng cho dự án của Phần mềm quản lý việc mua
III.
bán phụ kiện - thức ăn và ký gửi pet Aka Huế
Bằng ngôn ngữ java
IV.
V.
I. Chức năng quản lý nhân viên.
VI. 1. Giao diện màn hình chức năng quản lý thông tin.
VII.
ri Phăn mẽm quàn lý thũ cưng
VIII.
Hệ thống Chức nãng Nhân sự Hàng hóa Khách hàng Báo cáo Giúp đỡ
Nhân Viên
Châm cơng
Chính sách
Quy định
Đia chỉ
Chứnq minh
IX.
XXV.
SĐT
Xóa
X.
XV.
XX.
Mã
NV01
NV02
XI.
XVI.
XXI.
Tên
Ngu
Ngu
XII.
XVII.
XXII.
Sửa
Chứng
Huế
Đà
XIII.
XVIII. 0442
XXIII. 0442
XXVI. Đãng xuất
2. Một số hàm cơ bản của chức năng:
a. Hàm lấy dữ liệu bảng nhân viên từ SQL.
XXVII. public void nhapdulieusql()
XIV. Số
XIX. 019XX
XXIV. 091XX
XXVIII.
{
XXIX. try {
XXX. ketnoi.KetNoi();
XXXI. String sql="select * from nhanvien";
XXXII. PreparedStatement cmd= ketnoi.cn.prepareStatement(sql);
XXXIII.
ResultSet rs= cmd.executeQuery();
XXXIV.
while(rs.next())
XXXV. {
XXXVI.
XXXVII.
g(4)+";"+r
XXXVIII.
String
s=rs.getString(1)+";"+rs.getString(2)+";"+rs.getString(3)+";"+rs.getStrin
s.getString(5);
XXXIX.
a.add(s);
XL.
}
XLI.
rs.close();
XLII.
ketnoi.cn.close();
XLIII. }
XLIV. catch(Exception e)
XLV.
}
b. Hàm in dữ liệu bảng nhân viên ra màn hình.
XLVI. public void hienthi()
XLVII. {
XLVIII.
DefaultTableModel mh=new DefaultTableModel();
XLIX. mh.addColumn("Mã nhân viên");
L.
mh.addColumn("Tên nhân viên");
LI.
mh.addColumn("Chứng minh thư");
LII.
mh.addColumn("Địa chỉ");
LIII.
mh.addColumn("Số điện thoại");
LIV.
for(int i=0;i
LV.
{
LVI.
String[] s=a.get(i).split("[;]");
LVII.
Object[] t=new Object[5];
LVIII. t=s;
LIX.
mh.addRow(t);
LX.
}
LXI.
table.setModel(mh);
LXII. }
c. Hàm lưu thông tin một nhân viên mới vào dữ liệu SQL.
LXIII. public void luu(String st)
LXIV. {
LXV.
tr
y{
LXVI. ketnoi.KetNoi();
LXVII. String sql="insert into nhanvien values(?,?,?,?,?)";
LXVIII.
PreparedStatement
cmp=ketnoi.cn.prepareStatement(sql);
LXIX. String[] s=st.split("[;]");
LXX.
cmp.setString(1, s[0]);
LXXI. cmp.setString(2, s[1]);
LXXII. cmp.setString(3, s[2]);
LXXIII.cmp.setString(4, s[3]);
LXXIV. cmp.setString(5, s[4]);
LXXV. cmp.executeUpdate();
LXXVI.
cmp.close();
LXXVII.
}
LXXVIII.
catch (Exception ex)
LXXIX.
{
LXXX. ex.getStackTrace();
LXXXI.
LXXXII.
}
}
d. Hàm xóa thơng tin một nhân viên trong dữ liệu SQL.
LXXXIII.
public void xoa(String st)
LXXXIV.
{
LXXXV.
tr
y{
LXXXVI.
ketnoi.KetNoi();
LXXXVII.
String sql="Delete From nhanvien Where
manv=?";
LXXXVIII.
PreparedStatement
cmp=ketnoi.cn.prepareStatement(sql);
LXXXIX.
XC.
XCI.
cmp.setString(1, st);
cmp.executeUpdate();
}
XCII. catch (Exception ex)
XCIII. {
XCIV. ex.getStackTrace();
XCV. }
XCVI. }
e. Hàm sửa thông tin một nhân viên trong dữ liệu SQL.
XCVII. Public void capnhat(String st)
XCVIII.
{
XCIX. try {
C.
CI.
ketnoi.KetNoi();
String sql=”Update nhanvien set tennv=?, CMND=?,
diachi=?,
SDT=? Where manv=?”;
CII.
PreparedStatement cmp=ketnoi.cn.prepareStatement(sql);
CIII.
String[] s=st.split(“[;]”);
CIV.
cmp.setString(1,s[1]);
CV.
cmp.setString(2,s[2]);
CVI.
cmp.setString(3,s[3]);
CVII. cmp.setString(4,s[4]);
CVIII. cmp.setString(5,s[0]);
CIX.
cmp.executeUpdate();
CX.
}
CXI.
catch (Exception ex)
CXII. {
CXIII. ex.getStackTrace();
CXIV. }
CXV. i
f. Hàm kiểm tra mã nhân viên mỗi khi thêm một nhân viên.
CXVI. Public int ktmanv(String stt)
CXVII. {
CXVIII. for (int i=0;i
CXIX. {
CXX. String[] st1=a.get(i).split(“[;]”);
CXXI. if ( stt.equalsIgnoreCase(st1[0])==true)
CXXII. return 0;
CXXIII. }
CXXIV.
return 1;
CXXV. }
3. Toàn bộ code chức năng quản lý nhân viên.
CXXVI.
CXXVII.
import java.awt.BorderLayout;
import java.awt.EventQueue;
CXXVIII.
CXXIX.
CXXX.
CXXXI.
CXXXII.
CXXXIII.
CXXXIV.
CXXXV.
CXXXVI.
CXXXVII.
import javax. swing.JFrame;
import javax. swing.JLabel;
import javax. swing.JPanel;
import javax. swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import javax. swing.JScrollPane;
import javax. swing.JTabbedPane;
import javax. swing.JTextField;
import javax. swing.JMenuBar;
import javax. swing.JMenu;
CXXXVIII. import java.awt.Color;
CXXXIX.
import java.awt.SystemColor;
CXL. import java.awt.TextField;
CXLI. import javax. swing.UIManager;
CXLII.import javax. swing.JMenuItem;
CXLIII.
import javax. swing.JOptionPane;
CXLIV.
import javax. swing.JPopupMenu;
CXLV. import java.awt.Component;
CXLVI.
import java.awt.event.MouseAdapter;
CXLVII.
import java.awt.event.MouseEvent;
CXLVIII.
import java.io.BufferedReader;
CXLIX.
import java.io.FileInputStream;
CL. import java.io.FileNotFoundException;
CLI. import java.io.FileOutputStream;
CLII. import java.io.InputStreamReader;
CLIII. import java.io.OutputStreamWriter;
CLIV. import java.io.PrintWriter;
CLV. import java.sql.PreparedStatement;
CLVI. import java.sql.ResultSet;
CLVII. import java.util.ArrayList;
CLVIII.
import javax. swing.JCheckBoxMenuItem;
CLIX. import javax. swing.ImageIcon;
CLX. import javax. swing.JButton;
CLXI. import java.awt.event.ActionListener;
CLXII.import java.awt.event.ActionEvent;
CLXIII.
import javax. swing.JTable;
CLXIV.
import java.awt.Font;
CLXV. public class nhanvien extends JFrame {
CLXVI.
private JPanel contentPane;
CLXVII.
private JTextField textField;
CLXVIII.
private JTextField textField_1;
CLXIX.
private JTextField textField_2;
CLXX.private JTextField textField_3;
CLXXI.
private JTextField textField_4;
CLXXII.
private JTextField textField_5;
CLXXIII.
private JTextField textField_6;
CLXXIV.
private JTable table;
CLXXV.
CLXXVI.
CLXXVII.
CLXXVIII.
/**
* Launch the application.
*/
public static void main(String[] args) {
CLXXIX.
EventQueue. invokeLater(new Runnable() {
CLXXX.
public void run() {
CLXXXI.
tì-y {
CLXXXII.
nhanvien frame = new nhanvien();
CLXXXIII.
frame.setVisible(true);
CLXXXIV.
} catch (Exception e) {
CLXXXV.
e.printStackTrace();
CLXXXVI. ,
}
CLXXXVII. }
CLXXXVIII. .
});
CLXXXIX. }
CXC. /**
CXCI. * Create the frame.
CXCII.*/
CXCIII.
public ArrayList<String> a=new ArrayList<String>();
CXCIV.
public ArrayList<String> b=new ArrayList<String>();
CXCV. public int d=-1;
CXCVI.
public void nhapdulieusql()
CXCVII.
{
tr {
CXCVIII.
y
CXCIX.
ketnoi.KetNoi();
CC.
String sql="select * from nhanvien";
CCI. PreparedStatement cmd= ketnoi.cn.prepareStatement(sql);
CCII. ResultSet rs= cmd.executeQuery();
CCIII. while(rs.next())
CCIV. {
CCV. String
CCVI. s=rs.getString(1)+";"+rs.getString(2)+";"+rs.getString(3)+";"+rs.getString(4)+";"+rs.get
St
ring(5);
CCVII. a.add(s);
CCVIII.
}
CCIX. rs.close();
CCX. ketnoi.cn.close();
CCXI. }
CCXII. catch(Exception e)
CCXIII.
{
CCXIV.
CCXV. }
}
CCXVI.
public void hienthi()
CCXVII.
DefaultTableModel mh=new DefaultTableModel();
CCXVIII.
mh.addColumn("Mã nhân viên");
CCXIX.
mh.addColumn("Tên nhân viên");
CCXX.
mh.addColumn("Chứng minh thư");
CCXXI.
mh.addColumn("Địa chỉ");
CCXXII.
mh.addColumn("Số điện thoại");
CCXXIII.
for(int i=0;i
CCXXIV.
{
CCXXV.
String[] s=a.get(i).split("[;]");
CCXXVI.
Object[] t=new Object[5];
CCXXVII.
t=s;
CCXXVIII. mh.addRow(t);
CCXXIX.
}
CCXXX.
table.setModel(mh);
CCXXXI.
public void luu(String st)
CCXXXII.
{
CCXXXIII. try {
CCXXXIV. ketnoi.KetNoi();
CCXXXV.
String sql="insert into nhanvien values(?,?,?,?,?)";
CCXXXVI. PreparedStatement cmp=ketnoi.cn.prepareStatement(sql);
CCXXXVII. String[] s=st.split("[;]");
CCXXXVIII. cmp.setString(1, s[0]);
CCXXXIX. cmp.setString(2, s[1]);
CCXL. cmp.setString(3, s[2]);
CCXLI.
cmp.setString(4, s[3]);
CCXLII.
cmp.setString(5, s[4]);
CCXLIII.
cmp.executeUpdate();
CCXLIV.
cmp.close();
CCXLV.
}
CCXLVI.
catch (Exception ex)
CCXLVII.
{
CCXLVIII.
ex.getStackTrace();
CCXLIX.
}
CCL. }
public
void
xoa(String
{
CCLI. try {
st)
CCLII. ketnoi.KetNoi();
CCLIII.
String sql="Delete From nhanvien Where manv=?";
CCLIV.
PreparedStatement cmp=ketnoi.cn.prepareStatement(sql);
CCLV. cmp.setString(1, st);
CCLVI.
cmp.executeUpdate();
CCLVII.
}
CCLVIII.
catch (Exception ex)
CCLIX.
{
CCLX. ex.getStackTrace();
CCLXI.
}
CCLXII.
}
CCLXIII.
public void capnhat(String st)
CCLXIV.
{
tr {
CCLXV.
y
CCLXVI.
ketnoi.KetNoi();
CCLXVII.
String sql="Update nhanvien set tennv=?, CMND=?, diachi=?,
SDT=?
Where manv=?";
CCLXVIII. PreparedStatement cmp=ketnoi.cn.prepareStatement(sql);
CCLXIX.
String[] s=st.split("[;]");
CCLXX.
cmp .setString(1,s[1]);
CCLXXI.
cmp.setString(2,s[2]);
CCLXXII.
cmp.setString(3,s[3]);
CCLXXIII. cmp.setString(4,s[4]);
CCLXXIV.
cmp.setString(5,s[0]);
CCLXXV.
cmp.executeUpdate();
CCLXXVI. }
CCLXXVII. catch (Exception ex)
CCLXXVIII. {
CCLXXIX. ex.getStackTrace();
CCLXXX.
}
CCLXXXI. }
CCLXXXII. public int ktmanv(String stt)
CCLXXXIII. {
CCLXXXIV. for (int i=0;i
CCLXXXV. {
CCLXXXVI. String[] st1=a.get(i).split("[;]");
CCLXXXVII. if ( stt.equalsIgnoreCase(st1[0])==true)
CCLXXXVIII.
return 0;
CCLXXXIX. }
CCXC. return 1;
CCXCI.
}
CCXCII.
CCXCIII.
public void setdata(int n)
{
CCXCIV.
String[] ss=a.get(n).split("[;]");
CCXCV. textField_2.setText(ss[0]);
CCXCVI.
if (ss[1]!=null)
CCXCVII. textField_3 .setText(ss[1]);
CCXCVIII. if (ss[2]!=null)
CCXCIX. textField_4.setText(ss[2]);
CCC. if (ss[3]!=null)
CCCI.
textField_5 .setText(ss[3]);
CCCII.if (ss[4]!=null)
CCCIII.
textField_6.setText(ss[4]);
CCCIV.
}
CCCV. public nhanvien() {
CCCVI.
setForeground(Color.^EU);
CCCVII.
setTitle("Phần mềm quản lý thú cưng");
CCCVIII.
setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);
CCCIX.
setBounds(100, 100, 801, 687);
CCCX.contentPane = new JPanel();
CCCXI.
contentPane.setBackground(SystemColor.controỉLtHighỉight);
CCCXII.
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
CCCXIII.
setContentPane(contentPane);
CCCXIV.
contentPane.setLayout(null);
CCCXV.
CCCXVI.
CCCXVII.
CCCXVIII.
JMenuBar menuBar = new JMenuBar();
menuBar.setBackground(Color. WHITE);
menuBar.setBounds(0, 0, 542, 25);
contentPane.add(menuBar);
CCCXIX.
CCCXX.
CCCXXI.
CCCXXII.
CCCXXIII.
CCCXXIV.
JMenu mnNewMenu = new JMenu("H\u1EC7 th\u1ED1ng");
mnNewMenu.setFont(new Font("Segoe UI", Font.PLAIN, 15));
mnNewMenu.setEnabled(false);
mnNewMenu.setForeground(new Color(0, 0, 0));
mnNewMenu.setBackground(Color. WHITE);
menuBar.add(mnNewMenu);
CCCXXV.
JMenu mnNewMenu_1 = new JMenu("Ch\u1EE9c n\u0103ng");
CCCXXVI. mnNewMenu_1.addMouseListener(new MouseAdapter() {
CCCXXVII. @Override
CCCXXVIII. public void mouseClicked(MouseEvent e) {
CCCXXIX. kygui hd=new kygui();
CCCXXX.
hd.setVisible(true);
CCCXXXI. }
CCCXXXII. });
CCCXXXIII. mnNewMenu_1.setEnabled(false);
CCCXXXIV. mnNewMenu_1.setFont(new Font("Segoe UI", Font.PLAIN, 15));
CCCXXXV. mnNewMenu_1.setBackground(Color. WHITE);
CCCXXXVI. mnNewMenu_1.setForeground(new Color(0, 0, 0));
CCCXXXVII. menuBar.add(mnNewMenu_1);
CCCXXXVIII.
JMenu mnNewMenu_3 = new JMenu("H\u00E0ng h\u00F3a");
CCCXXXIX. mnNewMenu_3 .setEnabled(false);
CCCXL.
mnNewMenu_3.addMouseListener(new MouseAdapter() {
CCCXLI.
@Override
CCCXLII.
public void mouseClicked(MouseEvent e) {
xemkho xk= new xemkho();
CCCXLIII.
xk.setVisible(true);
CCCXLIV. „
}
CCCXLV.
});
CCCXLVI. JMenu mnNewMenu_2 = new JMenu("Nh\u00E2n s\u1EF1");
CCCXLVII. menuBar.add(mnNewMenu_2);
CCCXLVIII. mnNewMenu_2.setFont(new Font("Segoe UI", Font.BOLD, 15));
CCCXLIX. mnNewMenu_2.setBackground(Color.WHITE);
CCCL.
mnNewMenu_2.setForeground(new Color(0, 0, 0));
CCCLI.
mnNewMenu_3.setFont(new Font("Segoe UI", Font.PLAIN, 15));
CCCLII. mnNewMenu_3.setForeground(new Color(0, 0, 0));
CCCLIII. menuBar.add(mnNewMenu_3);
CCCLIV.
JMenu mnNewMenu_4 = new JMenu("Kh\u00E1ch h\u00E0ng");
CCCLV.
mnNewMenu_4.setFont(new Font("Segoe UI", Font. PLAIN, 15));
CCCLVI. mnNewMenu_4.setEnabled(false);
CCCLVII.mnNewMenu_4.setForeground(new Color(0, 0, 0));
CCCLVIII.
menuBar.add(mnNewMenu_4);
CCCLIX.
JMenu mnNewMenu_5 = new JMenu("B\u00E1o c\u00E1o");
CCCLX.
mnNewMenu_5.setFont(new Font("Segoe UI", Font.PLAIN, 15));
CCCLXI. mnNewMenu_5.setEnabled(false);
CCCLXII.
mnNewMenu_5.setForeground(new Color(0, 0, 0));
CCCLXIII.
menuBar.add(mnNewMenu_5);
CCCLXIV. JMenu mnNewMenu_6 = new JMenu("Gi\u00FAp \u0111\u1EE1");
CCCLXV. mnNewMenu_6.setFont(new Font("Segoe UI", Font. PLAIN, 15));
CCCLXVI. mnNewMenu_6.setEnabled(false);
CCCLXVII.
mnNewMenu_6.setForeground(new Color(0, 0, 0));
CCCLXVIII. menuBar.add(mnNewMenu_6);
CCCLXIX. JLabel lblNewLabel = new JLabel("Mã nhân viên");
CCCLXX. lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 14));
CCCLXXI.
lblNewLabel.setBounds(29, 158, 87, 16);
CCCLXXII.
contentPane .add(lblNewLabel);
CCCLXXIII. JLabel lblNewLabel_1 = new JLabel("Họ tên");
CCCLXXIV.lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 14));
CCCLXXV.
lblNewLabel_1.setBounds(33, 202, 56, 16);
CCCLXXVI. contentPane.add(lblN ewLabel_1);
CCCLXXVII. textField_2 = new JTextField();
CCCLXXVIII.
textField_2.setBounds(126, 152, 104, 22);
CCCLXXIX. contentPane.add(textField_2);
CCCLXXX. textField_2 .setColumns(10);
CCCLXXXI. textField_3 = new JTextField();
CCCLXXXII. textField_3.setBounds(126, 202, 104, 22);
CCCLXXXIII.
contentPane .add(textField_3);
CCCLXXXIV.textField_3 .setColumns(10);
CCCLXXXV. JLabel lblNewLabel_2 = new JLabel("Địa chỉ");
CCCLXXXVI.
lblNewLabel_2.setFont(new Font("Tahoma", Font.PLAIN, 15));
CCCLXXXVII.
lblNewLabel_2.setBounds(261, 158, 68, 16);
CCCLXXXVIII.
contentPane.add(lblNewLabel_2);
CCCLXXXIX.
JLabel lblNewLabel_3 = new JLabel("Chứng minh");
CCCXC.
lblNewLabel_3.setFont(new Font("Tahoma", Font.PLAIN, 15));
CCCXCI.
lblNewLabel_3.setBounds(254, 202, 87, 16);
CCCXCII.
contentPane.add(lblNewLabel_3);
CCCXCIII.
CCCXCIV.
CCCXCV.
CCCXCVI.
JLabel lblNewLabel_4 = new JLabel("SĐT");
lblNewLabel_4.setFont(new Font("Tahoma", Font.PLAIN, 15));
lblNewLabel_4.setBounds(494, 202, 56, 16);
contentPane.add(lblNewLabel_4);
CCCXCVII. textField_4 = new JTextField();
CCCXCVIII. textField_4.setBounds(351, 152, 104, 22);
CCCXCIX. contentPane.add(textField_4);
CD. textField_4.setColumns(10);
CDI.
CDII.
CDIII.
CDIV.
textField_5 = new JTextField();
textField_5.setBounds(351, 202, 104, 22);
contentPane.add(textField_5);
textField_5 .setColumns(10);
CDV. textField_6 = new JTextField();
CDVI. textField_6.setBounds(574, 202, 104, 22);
CDVII.
contentPane.add(textField_6);
CDVIII.
textField_6 .setColumns(10);
CDIX. JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane. TOP);
CDX. tabbedPane.setBounds(54, 308, 554, 249);
CDXI. contentPane.add(tabbedPane);
CDXII.JScrollPane scrollPane = new JScrollPane();
tabbedPane.addTab("", null, scrollPane, null);
CDXIII.
table = new JTable();
CDXIV.
table.setBackground(Color.CFAA');
CDXV. scrollPane.setViewportView(table);
CDXVI.
CDXVII.
nhapdulieusql();
hienthi();
CDXVIII.
JButton btnNewButton_4 = new JButton("Lưu");
CDXIX.
btnNewButton_4. setBackground(Color. WHITE);
CDXX.
btnNewButton_4.setFont(new Font("Tahoma", Font.BOLD, 15));
CDXXI.
btnNewButton_4.addActionListener(new ActionListener() {
CDXXII.
public void actionPerfbrmed(ActionEvent e) {
CDXXIII.
String s1=textField_2.getText();
CDXXIV. String s2=textField_3.getText();
CDXXV. String s3=textField_4.getText();
CDXXVI.
String s4=textField_5.getText();
CDXXVII.
String s5=textField_6.getText();
CDXXVIII. String st=s1+";"+s2+";"+s3+";"+s4+";"+s5;
CDXXIX.
if (d==-1)
CDXXX.
{
CDXXXI.
if (s1.equalsIgnoreCase("")==true)
CDXXXII.
JOptionPane.sAơM’Mess«geDzữ/ơg(btnNewButton_4, "Nhập mã nhân
viên");
CDXXXIII.
CDXXXIV.
tồn tại. Yêu
cầu nhập lại");
else if ((ktmanv(s1)==0))
JOptionPane.sAơM’Mess«geDzữ/ơg(btnNewButton_4, "Mã nhân viên đã
CDXXXV.
else { luu(st); a.add(st); hienthi();}
CDXXXVI. }
CDXXXVII. else
CDXXXVIII.
{
CDXXXIX. String[] s=a.get(d).split("[;]");
CDXL. capnhat(st);
CDXLI.
for(int j=a.size()-1;j>=0;j--)
CDXLII.
{ if (j==d) b.add(st);
CDXLIII.
else b.add(a.get(j));
a. remove(j);
CDXLIV.
}
'
for(int j=b.size()-1;j>=0;j--)
CDXLVI.
{ a.add(b.get(j)); b.remove(j); }
CDXLV.
hienthi();
CDXLVII.
CDXLVIII.
d=-1;
}
CDXLIX.
textField_2 .setText(""); textField_3 .setText("");
CDL. textField_4 .setText(""); textField_5 .setText("");
CDLI. textField_6 .setText("");
CDLII. }
CDLIII.
});
CDLIV.
btnNewButton_4.setBounds(126, 273, 68, 25);
CDLV. contentPane .add(btnNewButton_4);
CDLVI.
JButton btnNewButton_5 = new JButton("Sửa");
CDLVII.
btnNewButton_5.setBackground(Color. WHITE);
CDLVIII.
btnNewButton_5.setFont(new Font("Tahoma", Font.BOLD, 15));
CDLIX.
btnNewButton_5.addActionListener(new ActionListener() {
CDLX. public void actionPerformed(ActionEvent e) {
CDLXI.
int n=table.getSelectedRow();
CDLXII.
setdata(n);
CDLXIII.
d=n;
CDLXIV.
}
CDLXV.
});
CDLXVI.
CDLXVII.
btnNewButton_5.setBounds(447, 273, 68, 25);
contentPane.add(btnNewButton_5);
CDLXVIII. JButton btnNewButton_6 = new JButton("Xóa");
CDLXIX.
btnNewButton_6. setBackground(Color. WHITE);
CDLXX.
btnNewButton_6.setFont(new Font("Tahoma", Font.BOLD, 15));
CDLXXI.
btnNewButton_6.addActionListener(new ActionListener() {
CDLXXII.
public void actionPerformed(ActionEvent e) {
CDLXXIII.
int n=table.getSelectedRow();
CDLXXIV.
String[] ss=a.get(n).split("[;]");
CDLXXV.
a.remove(n);
CDLXXVI.
hienthi();
CDLXXVII. xoa(ss[0]);
CDLXXVIII. }
CDLXXIX. });
CDLXXX.
btnNewButton_6.setBounds(280, 273, 68, 25);
CDLXXXI. contentPane .add(btnNewButton_6);
CDLXXXII. JButton btnNewButton_7 = new JButton("Đăng xuất");
CDLXXXIII. btnNewButton_7.addMouseListener(new MouseAdapter() {
CDLXXXIV. @Override
CDLXXXV. public void mouseClicked(MouseEvent e) {
dangnhap dn= new dangnhap();
CDLXXXVI. dn.setVisible(true);
CDLXXXVII. }
CDLXXXVIII.
});
CDLXXXIX. btnNewButton_7.setFont(new Font("Tahoma", Font.BOLD, 15));
CDXC.btnNewButton_7.setBounds(248, 580, 119, 23);
CDXCI.
contentPane.add(btnNewButton_7);
CDXCII.
CDXCIII.
CDXCIV.
JLabel anh1 = new JLabel("");
anh1.setBounds(21, 30, 52, 40);
contentPane.add(anh1);
CDXCV.
CDXCVI.
ImageIcon icon= new ImageIcon("d:/java/1.png");
anh1 .setIcon(icon);
CDXCVII.
JLabel anh2 = new JLabel("");
CDXCVIII. anh2.setBounds(157, 26, 54, 40);
CDXCIX.
contentPane.add(anh2);
D.
ImageIcon icon1= new ImageIcon("d:/java/2.png");
DI.
anh2.setIcon(icon1);
DII.
DIII.
DIV.
DV.
DVI.
JLabel anh3 = new JLabel("");
anh3.setBounds(303, 30, 45, 40);
contentPane.add(anh3);
ImageIcon icon2= new ImageIcon("d:/java/3.png");
anh3 .setIcon(icon2);
DVII.
DVIII.
DIX.
DX.
DXI.
JLabel anh4 = new JLabel("");
anh4.setBounds(430, 30, 52, 40);
contentPane.add(anh4);
ImageIcon icon3= new ImageIcon("d:/java/4.png");
anh4.setIcon(icon3);
DXII. JLabel lblNewLabel_5 = new JLabel("Nhân Viên");
DXIII. lblNewLabel_5 .setF oreground(Color. CYAN);
DXIV. lblNewLabel_5.setFont(new Font("Tahoma", Font.BOLD, 15));
DXV. lblNewLabel_5.setBounds(10, 80, 87, 19);
DXVI. contentPane.add(lblN ewLabel_5);
DXVII.JLabel lblNewLabel_5_1 = new JLabel("Chấm công");
DXVIII.
lblNewLabel_5_1.setFont(new Font("Tahoma", Font.BOLD, 15));
DXIX. lblNewLabel_5_1.setBounds(134, 83, 96, 19);
DXX. contentPane.add(lblNewLabel_5_1);
DXXI. JLabel lblNewLabel_5_1_1 = new JLabel("Quy định");
DXXII.lblNewLabel_5_1_1.setFont(new Font("Tahoma", Font.BOLD, 15));
DXXIII.
lblNewLabel_5_1_1.setBounds(290, 83, 77, 19);
DXXIV.
contentPane.add(lblNewLabel_5_1_1);
DXXV. JLabel lblNewLabel_5_1_2 = new JLabel("Chính sách");
DXXVI.
lblNewLabel_5_1_2.setFont(new Font("Tahoma", Font.BOLD,
15));
DXXVII.
lblNewLabel_5_1_2.setBounds(414, 80, 87, 19);
DXXVIII.
contentPane.add(lblNewLabel_5_1_2);
DXXIX.
JButton btnNewButton = new JButton("");
DXXX.btnNewButton.setBackground(Color. BLACK);
DXXXI.
btnNewButton.setBounds(29, 144, 423, 4);
DXXXII.
contentPane.add(btnNewButton);
DXXXIII.
DXXXIV.
DXXXV.
DXXXVI.
JButton btnNewButton_1 = new JButton("New button");
btnNewButton_1. setBackground(Color.BLACK);
btnNewButton_1.setBounds(16, 158, 3, 99);
contentPane.add(btnNewButton_1);
DXXXVII.
}
DXXXVIII. private static void addPopup(Component component, final JPopupMenu
popup) {
DXXXIX.
component.addMouseListener(new MouseAdapter() {
DXL. public void mousePressed(MouseEvent e) {
DXLI. if (e.isPopupTrigger()) {
DXLII.showMenu(e);
DXLIII.
.
}
DXLIV.}
DXLV. public void mouseReleased(MouseEvent e) {
DXLVI.if (e.isPopupTrigger()) {
DXLVII.
showMenu(e);
DXLVIII.
.
}
DXLIX.
}
DL.
private void showMenu(MouseEvent e) {
DLI. popup.show(e.getComponent(), e.getX(), e.getY());
DLII. }
DLIII.
DLIV.
});
II. Chức năng quản lý chuồng và thông tin ký gửi
DLV. 1. Giao diện màn hình chức năng quản lý chuồng và thông tin ký gửi.
DLVI.
DLVII.
DLVIII. 2. Một số hàm cơ bản của chức năng.
DLIX. a. Hàm nhập dữ liệu thông tin ký gửi từ SQL.
DLX.
Public void nhapdulieusql()
DLXI.
{
DLXII.
tr
y{
DLXIII.
ketnoi.KetNoi();
DLXIV.
String sql=”select * from thongtinkygui”;
DLXV.
PreparedStatement cmd=
ketnoi.cn.prepareStatement(sql);
DLXVI.
ResultSet rs= cmd.executeQuery();
DLXVII.
while(rs.next())
DLXVIII. {
DLXIX.
String
DLXX.
s=rs.getString(1)+”;”+rs.getString(2)+”;”+rs.getString(3)+”;”+rs.getString(4)+”;
DLXXI.
s.getString(5)+”;”+rs.getString(6)+”;”+rs.getString(7)+”;”+rs.getString(8)+”;”+r
”+r
s.g
etString(9)+”;”+rs.getString(10)+”;”+rs.getString(11)+”;”+rs.getString(12);
DLXXII.
a.add(s);
DLXXIII. }
DLXXIV. rs.close();
DLXXV.
ketnoi.cn.close();
DLXXVI. }
DLXXVII. catch(Exception e)
DLXXVIII.
{
DLXXIX. }
DLXXX. }
b. Hàm lưu thông tin ký gửi khi đăng ký ký gửipes mới trong dữ liệu SQL.
DLXXXI. public void luu(String st)
DLXXXII. {
tr {
DLXXXIII.
y
DLXXXIV.ketnoi.KetNoi();
DLXXXV. String sql="insert into thongtinkygui
values(?,?,?,?,?,?,?,?,?,?,?,?)";
DLXXXVI.
PreparedStatement
cmp=ketnoi.cn.prepareStatement(sql);
DLXXXVII.
String[] s=st.split("[;]");
DLXXXVIII.
cmp.setString(1, s[0]);
DLXXXIX.cmp.setString(2, s[1]);
DXC.
cmp.setString(3, s[2]);
DXCI.
cmp.setString(4, s[3]);
DXCII.
cmp.setString(5, s[4]);
DXCIII.
cmp.setString(6, s[5]);
DXCIV.
cmp.setString(7, s[6]);
DXCV.
cmp.setString(8, s[7]);
DXCVI.
cmp.setString(9, s[8]);
DXCVII.
cmp.setString(10, s[9]);
DXCVIII. cmp.setString(11, s[10]);
DXCIX.
cmp.setString(12, s[11]);
DC. cmp.executeUpdate();
DCI.
cmp.close();
DCII.
}
DCIII.
catch (Exception ex)
DCIV.
{
DCV.
DCVI.
DCVII.
ex.getStackTrace();
}
}
c. Hàm xóa thơng tin ký gửi của một chuồng trong dữ liệu SQL.
DCVIII.
public void xoa(String st)
DCIX.
{
tr
y{
DCX.
DCXI.
ketnoi.KetNoi();
DCXII.
PreparedStatement cmp=ketnoi.cn.
prepareStatement("Delete
DCXIII.
From thongtinkygui Where makygui=?");
DCXIV.
cmp.setString(1, st);
DCXV.
cmp.executeUpdate();
DCXVI.
}
DCXVII. catch (Exception ex)
DCXVIII. {
DCXIX.
DCXX.
DCXXI.
ex.getStackTrace();
}
}
d. Hàm cập nhật lại thông tin của một chuồng trong dữ liệu SQL.
DCXXII. public void capnhat(String st,String t)
DCXXIII. {
DCXXIV.
tr
y{
DCXXV.
ketnoi.KetNoi();
DCXXVI. String sql="Update thongtinkygui set
tenchu=?,lienhe=?,cmnd=?,tenpes=?,soluong=?,ngaygui=?,ngaytra=?,giacombo=?,
manhanvien=?,tenchuong=?,giayto=? Where makygui=?";
DCXXVII. PreparedStatement cmp=ketnoi.cn.prepareStatement(sql);
DCXXVIII.
String[] s=st.split("[;]");
DCXXIX. cmp.setString(1, s[1]);
DCXXX. cmp.setString(2, s[2]);
DCXXXI. cmp.setString(3, s[3]);
DCXXXII. cmp.setString(4, s[4]);
DCXXXIII.
cmp.setString(5, s[5]);
DCXXXIV.cmp.setString(6, s[6]);
DCXXXV. cmp.setString(7, s[7]);
DCXXXVI.
cmp.setString(8, s[8]);
DCXXXVII.
cmp.setString(9, s[9]);
DCXXXVIII.
cmp.setString(10, s[10]);
DCXXXIX.
cmp.setString(11, s[11]);
DCXL.
cmp.setString(12, t);
DCXLI.
cmp.executeUpdate();
DCXLII.
cmp.close();
DCXLIII. }
DCXLIV. catch (Exception ex)
DCXLV.
{
DCXLVI.
DCXLVII.
DCXLVIII.
ex.getStackTrace();
}
}
e. Hàm kiểm tra ngày trả pes với thời gian hiện tại có hợp lý hay khơng.
DCXLIX.
public int kiemtrangay(String st)
DCL. {
DCLI. try {
DCLII. Date date =new Date();
DCLIII.
SimpleDateFormat sim=new
SimpleDateFormat("dd/MM/yyyy");
DCLIV.long t = date.getTime();
DCLV. dte=sim.format(date.getTime());
DCLVI.Date t1= sim.parse(st);
DCLVII.
long t2=t1 .getTime();
DCLVIII.
if (t>t2) return 0;
DCLIX.
else return 1;
DCLX. } catch (ParseException e) {
DCLXI.
// TODO Auto-generated catch block
e.printStackTrace();
DCLXII.
}
DCLXIII.
return 0;
DCLXIV.
}
DCLXV. 3. Toàn bộ code chức năng quản lý chuồng và thông tin ký gửi.
DCLXVI.
DCLXVII.
DCLXVIII.
DCLXIX.
DCLXX.
DCLXXI.
DCLXXII.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;