?? mainfrm.java
字號:
return;
}
try {
num = Integer.parseInt(txtnumber.getText()); //獲取商品個數(shù)
}
catch (Exception ex) {
JOptionPane.showMessageDialog(null, "請正確填寫商品個數(shù)", "錯誤",
JOptionPane.ERROR_MESSAGE);
return;
}
String sql = "select * from shopping where id='" + id + "'";
Link lk = new Link();
lk.connection();
ResultSet rs = lk.Select(sql);
try {
if (rs.next()) {
int geshu = Integer.parseInt(rs.getString(5));
if (geshu < num) { //判斷庫存是否小于商品個數(shù)
JOptionPane.showMessageDialog(null, "庫存量不足,請聯(lián)系倉庫管理員", "警告",
JOptionPane.INFORMATION_MESSAGE);
}
else {
do {
Vector v = new Vector();
v.removeAllElements();
v.add(rs.getString(1).trim());
v.add(rs.getString(2).trim()); //類別
v.add(rs.getString(3).trim()); //商品名
v.add(rs.getString(4).trim()); //單價
v.add(tatol); //商品個數(shù)
v.add(rs.getString(6).trim()); //單位
v.add(rs.getString(7).trim()); //折扣率
v.add(rs.getString(8).trim()); //備注
vt.add(v); //添加數(shù)據(jù)
}
while (rs.next());
shopping += id + "\n";
tblsp.updateUI();
txtid.setText("");
txtnumber.setText("");
}
}
else {
JOptionPane.showMessageDialog(null, "沒有該商品,請確認商品名是否正確", "錯誤",
JOptionPane.ERROR_MESSAGE);
}
}
catch (SQLException ex1) {
}
lk.close();
txtnumber.setText("1");
}
public void disleibei() { //顯示
Link obj = new Link();
obj.connection();
String sql = "select kindsname from kinds";
ResultSet rs = obj.Select(sql);
cmbname.removeAllItems(); //清除下拉框中所有的項
cmbname.addItem("商品類別");
try {
while (rs.next()) {
cmbname.addItem(rs.getString(1));
}
rs.close();
obj.close();
}
catch (SQLException ex) {
}
}
public void jButton1_actionPerformed(ActionEvent e) {
vr.removeAllElements(); //刪除表中原有數(shù)據(jù)
String name = txtspname.getText().trim();
String sql = ""; //
if (name.equals("") && cmbname.getSelectedItem().equals("商品類別")) {
sql = "select * from sellnote";
}
else if (!name.equals("") &&
cmbname.getSelectedItem().equals("商品類別")) {
sql = "select * from sellnote where name like'%" + name + "%'";
}
else if (name.equals("") &&
!cmbname.getSelectedItem().equals("商品類別")) {
sql = "select * from sellnote where kindsname='" +
cmbname.getSelectedItem() + "'";
}
else {
sql = "select * from sellnote where kindsname='" +
cmbname.getSelectedItem() + "' and name like'%" + name + "%'";
}
Link lk = new Link();
lk.connection();
ResultSet rs = lk.Select(sql);
try {
if (rs.next()) {
do {
Vector v = new Vector();
v.removeAllElements();
v.add(rs.getString(1).trim()); //商品編號
v.add(rs.getString(2).trim()); //類別
v.add(rs.getString(3).trim()); //商品名
v.add(rs.getString(4).trim()); //總數(shù)
v.add(rs.getString(5).trim()); //總額
v.add(rs.getString(6).trim()); //售出時間
vr.add(v); //添加數(shù)據(jù)
}
while (rs.next());
tbltotal.updateUI();
}
else {
JOptionPane.showMessageDialog(null, "不存在該商品記錄", "",
JOptionPane.INFORMATION_MESSAGE);
}
}
catch (SQLException ex1) {
}
try {
rs.close();
}
catch (SQLException ex) {
}
lk.close();
}
public void btnsell_actionPerformed(ActionEvent e) { //銷售表中商品
if (vt.size() == 0) {
JOptionPane.showMessageDialog(null, "表中無任何數(shù)據(jù)!", "提示",
JOptionPane.INFORMATION_MESSAGE);
return;
}
String shopping = ""; //用于存所售出的商品名
String sql = ""; //用于存SQL語句
float vipzhek = 10; //用于存會員折扣率
float price = 0; //用于存總額
boolean fl = false; //判斷是否是會員
float mo = 0; //用于存單件商品的總額
Link lk = new Link();
lk.connection();
ResultSet rs = null;
if (chbvip.isSelected()) { //如果是會員,判斷會員等級
rs = lk.Select("select grade from vip where cardid='" +
txtvipid.getText().trim() + "'");
try {
if (rs.next()) {
fl = true;
if (rs.getInt(1) == 1) {
vipzhek = 9.5f;
}
else {
vipzhek = 9.0f;
}
}
else {
JOptionPane.showMessageDialog(null, "該會員號不存在,請核實再查詢!", "錯誤",
JOptionPane.ERROR_MESSAGE);
rs.close();
lk.close();
return;
}
}
catch (SQLException ex1) {
}
}
for (int i = 0; i < vt.size(); i++) {
int sum = 0; //用于剩余庫存量
float danjia = 0; //用于存單價
float zhek = 10; //用于存折扣率
int su = 0; //售出數(shù)量
Vector tmep = (Vector) vt.get(i); //把表中的每一行都存在一個數(shù)組中
//查詢原有庫存
sql = "select price,total,abate from shopping where id='" +
tmep.get(0) + "'";
rs = lk.Select(sql);
//更新庫存
try {
if (rs.next()) { //減去售出的數(shù)量
danjia = rs.getFloat(1);
su = Integer.parseInt(tmep.get(4).toString());
sum = rs.getInt(2) - su; //剩余庫存量
zhek = rs.getFloat(3); //取出折扣
// System.out.println("su=" + su + " sum=" + sum + " zhek=" + zhek);
if (fl) {
mo = vipzhek * su * danjia * zhek * 0.01f;
}
else {
mo = danjia * zhek * 0.1f * su;
}
price += mo; //累計總額
}
}
catch (NumberFormatException ex) {
System.out.println("整形數(shù)據(jù)轉(zhuǎn)換出錯!");
}
catch (SQLException ex) {
} //取得當前時間
Calendar date = Calendar.getInstance(); //獲取一個日歷
t = new Date();
String temp = t.toString().substring(11,
(t.toString().length() - 4));
temp = temp.substring(0, 8);
date.get(Calendar.MINUTE);
date.get(Calendar.SECOND);
String time = date.get(Calendar.YEAR) + "-" +
(date.get(Calendar.MONTH) + 1)
+ "-" + date.get(Calendar.DATE) + " " + temp;
sql = "update shopping set total=" + sum + " where id='" +
tmep.get(0).toString() + "'";
int count = 0;
count = lk.Update(sql); //更新庫存
if (count <= 0) {
JOptionPane.showMessageDialog(null, "更新庫存出錯了!", "錯誤",
JOptionPane.ERROR_MESSAGE);
lk.close();
return;
}
sql = "insert into sellnote values('" + tmep.get(0) + "','" +
tmep.get(1) + "','" + tmep.get(2) + "'," + tmep.get(4) +
"," + mo + ",'" + time + "')";
count = 0;
count = lk.Update(sql); //插入銷售記錄
if (count <= 0) {
JOptionPane.showMessageDialog(null, "無法更新銷售記錄!", "錯誤",
JOptionPane.ERROR_MESSAGE);
lk.close();
return;
}
shopping += "商品名:" + tmep.get(2) + "\n商品數(shù)量:" + su + "\n商品折扣率:" +
zhek +
"折\n"; //將出售信息存在一個字符串中,便于打印清單
}
System.out.println(price);
if (fl) {
sql = "update vip set integral=integral+" + (int) price +
" where cardid='" + //更新會員積分
txtvipid.getText().trim() + "'"; //每次消費增加積分
int count = 0;
count = lk.Update(sql);
if (count <= 0) {
JOptionPane.showMessageDialog(null, "會員積分出錯了!", "錯誤",
JOptionPane.ERROR_MESSAGE);
lk.close();
return;
}
lk.Update("update vip set grade=2 where integral>=1000"); //當會員積分大于等于1000分時自動提升等級
try {
if (rs.next()) {
}
}
catch (SQLException ex3) {
}
}
try {
rs.close();
}
catch (SQLException ex2) {
}
lk.close();
System.out.println(price + " " + mo);
Checkout ct = new Checkout(shopping, fl, vipzhek, price, this);
ct.setSize(450, 420);
ct.setLocation(300, 200);
ct.show();
txtvipid.setText("");
// this.clear();//清空表中的數(shù)據(jù)
}
public void txtnumber_keyPressed(KeyEvent e) { //單擊回車觸發(fā)添加
if ( (int) e.getKeyChar() == 10) {
btntianjia_actionPerformed(null);
}
}
public void txtname_keyPressed(KeyEvent e) {
if ( (int) e.getKeyChar() == 10) {
btntianjia_actionPerformed(null);
}
}
public void txtspname_keyPressed(KeyEvent e) {
if ( (int) e.getKeyChar() == 10) {
jButton1_actionPerformed(null);
}
}
public void btncan_actionPerformed(ActionEvent e) { //刪除表中的要銷售商品的記錄
int count = tblsp.getSelectedRow();
if (vt.size() == 0) {
JOptionPane.showMessageDialog(null, "表中無任何數(shù)據(jù)!", "提示",
JOptionPane.INFORMATION_MESSAGE);
return;
}
if (count < 0) {
JOptionPane.showMessageDialog(null, "請選擇要刪除的商品", "提示",
JOptionPane.INFORMATION_MESSAGE);
return;
}
String str = (String) tblsp.getValueAt(count, 1);
if (JOptionPane.showConfirmDialog(null, "確認刪除?", "確認",
JOptionPane.YES_NO_OPTION) == 0) {
vt.remove(count); //刪除表中的數(shù)據(jù)
tblsp.updateUI(); //更新表
}
}
public void jMenuItem3_actionPerformed(ActionEvent e) {
if ( (JOptionPane.showConfirmDialog(null, "確認退出?", "確認",
JOptionPane.YES_NO_OPTION)) ==
0) {
System.exit(0); //退出系統(tǒng)
}
}
public void jMenuItem1_actionPerformed(ActionEvent e) { //添加用戶
UserAdd ua = new UserAdd();
ua.setSize(400, 330);
ua.setLocation(300, 250);
ua.show();
}
public void jMenuItem2_actionPerformed(ActionEvent e) { //登陸窗口
LandFrm lf = new LandFrm(this);
lf.setLocation(300, 250);
lf.show();
}
public void chbvip_mouseClicked(MouseEvent e) {
txtvipid.setEnabled(true);
}
else {
txtvipid.setEnabled(false);
}
}
public void jMenuItem4_actionPerformed(ActionEvent e) { //計算器
try {
Runtime.getRuntime().exec("calc"); //調(diào)用計算器
}
catch (IOException ex) {
}
}
public void jMenuItem9_actionPerformed(ActionEvent e) { //計算器
try {
Runtime.getRuntime().exec("notepad"); //調(diào)用記事本
}
catch (IOException ex) {
}
}
public void jMenuItem11_actionPerformed(ActionEvent e) { //幫助提示
Help help = new Help();
help.setSize(470, 450);
help.setLocation(300, 250);
help.show();
}
public void btnkong_actionPerformed(ActionEvent e) { //清空表中的數(shù)據(jù)
if (vr.size() == 0) {
return;
}
if (JOptionPane.showConfirmDialog(null, "是否清空表中數(shù)據(jù)", "提示",
JOptionPane.YES_NO_OPTION) == 0) {
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -