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

📄 downcomputerrule.java

📁 一个简单的机房管理系统 可以简单的实现查询,计费 上下机,充值等功能
💻 JAVA
字号:
package src.Rule;

import src.Conn.DateBiase;
import java.util.Vector;
import src.Bean.UpComputerCardBean;
import src.Bean.UpComputerComputerBean;
import src.Bean.UpComputerRecordBean;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 这是下机后台
 */
public class DownComputerRule {
  DateBiase downDateBase;
  Vector ObjDownChick, getLasetVector;

  public DownComputerRule() throws Exception {
    downDateBase = new DateBiase();
    try {
      jbInit();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
  }

  //读取上机列表。
  public Vector DownComputerIdChikc() throws SQLException {
    ObjDownChick = new Vector();
    String DownComputerChick = "select id from Computer where onuse = 1";
    ResultSet downComputerID = downDateBase.objStatement.executeQuery(
        DownComputerChick);
    while (downComputerID.next()) {
      ObjDownChick.addElement(downComputerID.getString(1));
    }
    return ObjDownChick;
  }

  //读取系统的下机时间
  public String getEtime() {
    Date endTime = new Date();
    SimpleDateFormat DateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    String downtime = DateFormat.format(endTime);
    return downtime;
  }

//将下机时间写入RECORD表
  public void setETimetoRecord(UpComputerRecordBean objRecordBean) {
    try {
      String setETimeSQL =
          " update record set endtime = getDate() where Computerid = '" +
          objRecordBean.getComputerID() + "' ";
      downDateBase.objStatement.executeUpdate(setETimeSQL);
    }
    catch (Exception ex) {
    }
  }

//取出最近一条下机记录。
  public Vector getLaset(UpComputerRecordBean objDownRecordBean) throws
      Exception {
    getLasetVector = new Vector();
    String lastUseSQL =
        " select Top 1 cardid,begintime,endtime from Record where ComputerId = '" +
        objDownRecordBean.getComputerID() + "' order by Begintime desc ";
    ResultSet objLastRs = downDateBase.objStatement.executeQuery(lastUseSQL);
    objLastRs.next();
    getLasetVector.addElement(objLastRs.getString(1));
    getLasetVector.addElement(objLastRs.getString(2));
    getLasetVector.addElement(objLastRs.getString(3));

    return getLasetVector;
  }

  //踢出在线卡号
  public void kickCardUser(UpComputerCardBean kickCardUserBean) throws
      Exception {
    String kickCardSQL = " update card set onuse = 0 where username = '" +
        kickCardUserBean.getUserName() + "'  ";
    downDateBase.objStatement.executeUpdate(kickCardSQL);
  }

  //踢出在线机器号
  public void kickComputerUser(UpComputerComputerBean kickComputerUserBean) throws
      Exception {
    String kickComputerSQL = " update computer set onuse = 0 where id = '" +
        kickComputerUserBean.getID() + "' ";
    downDateBase.objStatement.executeUpdate(kickComputerSQL);
  }

//这是计算下机费用!(说实话,我也没看懂这段计算是什么原理,同一开发组的人写的.-_-#)
  public float setBalance(UpComputerRecordBean downRecordBean) throws Exception {
    int playMintes = 0;
    float Fee = 0;
    String begin_end_time_mi =
        "select top 1 datediff(mi,begintime,endtime) from record where computerid='" +
        downRecordBean.getComputerID() + "' and cardid='" +
        downRecordBean.getCardID() + "' order by begintime desc";
    ResultSet begin_end_time_minu = downDateBase.objStatement.executeQuery(
        begin_end_time_mi);
    begin_end_time_minu.next();
    playMintes = Integer.parseInt(begin_end_time_minu.getString(1));
    int modNum = playMintes % 60;
    float playHours = 0;
    playHours = (int) (playMintes / 60);
    if (modNum > 0 && modNum < 30) {
      playHours += 0.5;
    }
    if (modNum > 30 && modNum < 60) {
      playHours += 1;
    }
    Fee = playHours * 2;

    return Fee;

  }

  //这个方法用查询与用户名对应的余额为多少.
  public float getCardBalance(UpComputerCardBean getCardBean) throws Exception {
    String getCardBalanceSQL = " select balance from card where username = '" +
        getCardBean.getUserName() + "' ";
    ResultSet BalanceRes = downDateBase.objStatement.executeQuery(
        getCardBalanceSQL);
    BalanceRes.next();
    float Balance = 0;
    Balance = Float.parseFloat(BalanceRes.getString(1));
    return Balance;
  }

  //这个方法是扣费后,重新写入用户卡号表的剩余金额
  public void upBalance(UpComputerCardBean upBalanceBean) throws SQLException {
    String upBalanceSQL = "update card set Balance = '" +
        upBalanceBean.getBalace() + "' where username = '" +
        upBalanceBean.getUserName() + "' ";
    downDateBase.objStatement.executeUpdate(upBalanceSQL);
  }

  //将扣掉的金额写入RECORD表的FEE扣费金额中.
  public void upFee(UpComputerRecordBean upRecordBean) throws SQLException {
    String upRecordBeanSQL = " update record set Fee = '" + upRecordBean.getFee() +
        "' where begintime= '" + upRecordBean.getBeginTime() + "' ";
    downDateBase.objStatement.executeUpdate(upRecordBeanSQL);
  }

  private void jbInit() throws Exception {
  }

}

⌨️ 快捷键说明

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