⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.java

📁 基于java+sql2000超市货品进销存管理
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
      return;
    }
    try {
      num = Integer.parseInt(txtnumber.getText()); //获取商品个数
    }
    catch (Exception ex) {
      JOptionPane.showMessageDialog(null, "请正确填写商品个数", "错误",
                                    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) { //判断库存是否小于商品个数
          JOptionPane.showMessageDialog(null, "库存量不足,请联系仓库管理员", "警告",
                                        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); //商品个数
            v.add(rs.getString(6).trim()); //单位
            v.add(rs.getString(7).trim()); //折扣率
            v.add(rs.getString(8).trim()); //备注
            vt.add(v); //添加数据
          }
          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(); //删除表中原有数据
    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()); //总数
          v.add(rs.getString(5).trim()); //总额
          v.add(rs.getString(6).trim()); //售出时间
          vr.add(v); //添加数据
        }
        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, "表中无任何数据!", "提示",
                                    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; //售出数量
      Vector tmep = (Vector) vt.get(i); //把表中的每一行都存在一个数组中

      //查询原有库存
      sql = "select price,total,abate from shopping where id='" +
          tmep.get(0) + "'";
      rs = lk.Select(sql);
      //更新库存
      try {
        if (rs.next()) { //减去售出的数量
          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("整形数据转换出错!");
      }
      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商品数量:" + 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();//清空表中的数据
  }

  public void txtnumber_keyPressed(KeyEvent e) { //单击回车触发添加
    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, "表中无任何数据!", "提示",
                                    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); //删除表中的数据
      tblsp.updateUI(); //更新表
    }
  }

  public void jMenuItem3_actionPerformed(ActionEvent e) {
    if ( (JOptionPane.showConfirmDialog(null, "确认退出?", "确认",
                                        JOptionPane.YES_NO_OPTION)) ==
        0) {
      System.exit(0); //退出系统
    }
  }

  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) {
    if (chbvip.isSelected()) {
      txtvipid.setEnabled(true);
    }
    else {
      txtvipid.setEnabled(false);
    }
  }

  public void jMenuItem4_actionPerformed(ActionEvent e) { //计算器
    try {
      Runtime.getRuntime().exec("calc"); //调用计算器
    }
    catch (IOException ex) {
    }
  }

  public void jMenuItem9_actionPerformed(ActionEvent e) { //计算器
    try {
      Runtime.getRuntime().exec("notepad"); //调用记事本
    }
    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) { //清空表中的数据
    if (vr.size() == 0) {
      return;
    }
    if (JOptionPane.showConfirmDialog(null, "是否清空表中数据", "提示",
                                      JOptionPane.YES_NO_OPTION) == 0) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -