📄 bankprocess.java
字号:
package serverpack;
import java.sql.*;
import java.text.DecimalFormat;
public class BankProcess {
private Connection conn;
private Statement stat;
private Statement stat2;
private Monitor mo;
private DecimalFormat df;
public BankProcess(Connection c,Monitor m){conn = c;mo = m;df = new DecimalFormat("#,###,###,###.00");}
public boolean CorpLoan(MyMessage mm)
{
try
{
String id = new String(mm.GetMes(0));
boolean b = false;
int count = 0;
stat = conn.createStatement();
/////////////////////////////////////
ResultSet result = stat.executeQuery("SELECT * FROM bank_loan WHERE id = '"+mm.GetMes(0)+"'" +
" AND if_granted = 'Y' AND if_payback = 'N'");
if(result.next())
{
b = true;
do
{
mm.SetMes("not payback", count++);
mm.SetMes(df.format(result.getFloat("account")), count++);
mm.SetMes(result.getString("time"), count++);
}while(result.next());
}
/////////////////////////
if(b)
{
System.out.println(id+" CorpLoan success");
mo.appendmessage(id+" CorpLoan success"+"\n");
mm.SetType("true");
mm.SetNum(count);
}
else
{
System.out.println(id+" No Loan");
mo.appendmessage(id+" No Loan"+"\n");
mm.SetType("false");
mm.SetNum(0);
}
result.close();
stat.close();
return true;
}
catch(SQLException e)
{
System.out.println("SQLException");
e.printStackTrace();
}
return false;
}
public boolean CorpRecord(MyMessage mm)
{
try
{
String id = new String(mm.GetMes(0));
boolean b = false;
int count = 0;
int num;
stat = conn.createStatement();
String tempid = mm.GetMes(0);
/////////////////////////////////////
ResultSet result = stat.executeQuery("SELECT * FROM bank_client WHERE id = '"+tempid+"'");
if(result.next())
{
b = true;
do
{
mm.SetMes(result.getString("h_type"), count++);
mm.SetMes(df.format(result.getFloat("account")), count++);
mm.SetMes(result.getString("to_name"), count++);
mm.SetMes(result.getString("time"), count++);
}while(result.next());
}
result = stat.executeQuery("SELECT * FROM bank_client WHERE to_id = '"+tempid+"'");
if(result.next())
{
b = true;
do
{
mm.SetMes("get", count++);
mm.SetMes(df.format(result.getFloat("account")), count++);
mm.SetMes(result.getString("name"), count++);
mm.SetMes(result.getString("time"), count++);
}while(result.next());
}
if(b)
{
System.out.println(id+" CorpRecord success");
mo.appendmessage(id+" CorpRecord success"+"\n");
mm.SetType("true");
mm.SetNum(count);
}
else
{
System.out.println(id+" No Record");
mo.appendmessage(id+" No Record"+"\n");
mm.SetType("false");
mm.SetNum(0);
}
result.close();
stat.close();
return true;
}
catch(SQLException e)
{
System.out.println("SQLException");
e.printStackTrace();
}
return false;
}
public boolean BankFinanceView(MyMessage mm)
{
try{
stat=conn.createStatement();
float DepositTotal=0,LoanTotal=0,PayBackTotal=0;
ResultSet rs=stat.executeQuery("select * from bank_account");
while(rs.next())
{
DepositTotal=rs.getFloat("account")+DepositTotal;
}
// System.out.println(DepositTotal);
rs=stat.executeQuery("select account from bank_loan where if_granted='Y'");
while(rs.next())
{
LoanTotal=LoanTotal+rs.getFloat("account");
}
// System.out.println(LoanTotal);
rs=stat.executeQuery("select account from bank_loan where if_payback='Y'");
while(rs.next())
{
PayBackTotal+=rs.getFloat("account");
}
// System.out.println(PayBackTotal);
mm.SetNum(3);
mm.SetType("true");
mm.SetMes(df.format(DepositTotal), 0);
mm.SetMes(df.format(LoanTotal), 1);
mm.SetMes(df.format(PayBackTotal), 2);
System.out.println("BankFinanceView success");
mo.appendmessage("BankFinanceView success"+"\n");
rs.close();
stat.close();
return true;
}
catch(SQLException e){
System.out.println("SQLException!");
e.printStackTrace();
}
return false;
}
public boolean BankGrant(MyMessage mm)
{
try{
PreparedStatement pstat;
String cmd="select * from bank_loan where id=? and time=?";
pstat=conn.prepareStatement(cmd,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
pstat.setString(1, mm.GetMes(0));
pstat.setString(2, mm.GetMes(1));
ResultSet rs=pstat.executeQuery();
rs.next();
if("Y".equals(rs.getString("if_granted")))
{
System.out.println(mm.GetMes(0)+" loan granted before");
mo.appendmessage(mm.GetMes(0)+" loan granted before"+"\n");
mm.SetType("false");
mm.SetNum(0);
rs.close();
pstat.close();
return true;
}
else{
mm.SetType("true");
mm.SetNum(0);
rs.updateString("if_granted","Y");
rs.updateRow();
stat=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet temp=stat.executeQuery("select * from bank_account where id='"+rs.getString("id")+"'");
temp.next();
temp.updateFloat("account",temp.getFloat("account")+rs.getFloat("account"));
temp.updateRow();
temp.close();
stat.close();
rs.close();
pstat.close();
System.out.println(mm.GetMes(0)+" BankGrant success");
mo.appendmessage(mm.GetMes(0)+" BankGrant success"+"\n");
return true;
}
}
catch(SQLException e){
System.out.println("SQLException!");
e.printStackTrace();
}
return false;
}
public boolean BankLoanView(MyMessage mm)
{
try{
stat=conn.createStatement();
ResultSet rs=stat.executeQuery("select * from bank_loan");
if(!rs.next())
{
mm.SetType("false");
mm.SetNum(0);
System.out.println("No loan data for bank");
mo.appendmessage("No loan data for bank"+"\n");
rs.close();
stat.close();
return true;
}
else{
rs.last();
int num=rs.getRow();
rs.beforeFirst();
mm.SetNum(num*7);
mm.SetType("true");
int i=0,j=1;
while(rs.next())
{
j=2;
for(;j<=8;i++,j++)
{
if(j == 5)
{
mm.SetMes(df.format(rs.getFloat(j)),i);
}
else
{
mm.SetMes(rs.getString(j), i);
}
}
}
System.out.println("BankLoanView success");
mo.appendmessage("BankLoanView success"+"\n");
rs.close();
stat.close();
return true;
}
}
catch(SQLException e){
System.out.println("SQLException!");
e.printStackTrace();
}
return false;
}
public boolean BankNotPaybackView(MyMessage mm)
{
try{
stat=conn.createStatement();
ResultSet rs=stat.executeQuery("select * from bank_loan where if_payback='N' AND if_granted = 'Y'");
if(!rs.next())
{
System.out.println("No NotPayBack data for bank");
mo.appendmessage("No NotPayBack data for bank"+"\n");
mm.SetType("false");
mm.SetNum(0);
rs.close();
stat.close();
return true;
}
else{
rs.last();
int num=rs.getRow();
rs.beforeFirst();
mm.SetNum(num*7);
mm.SetType("true");
int i=0,j=1;
while(rs.next())
{
j=2;
for(;j<=8;i++,j++)
{
if(j == 5)
{
mm.SetMes(df.format(rs.getFloat(j)),i);
}
else
{
mm.SetMes(rs.getString(j), i);
}
}
}
}
System.out.println("BankNotPaybackView success");
mo.appendmessage("BankNotPaybackView success"+"\n");
rs.close();
stat.close();
return true;
}
catch(SQLException e){
System.out.println("SQLException!");
e.printStackTrace();
}
return false;
}
public boolean BankClientDetailView(MyMessage mm)
{
try{
String cmd=new String("select * from bank_client where id=?");
PreparedStatement pstat=conn.prepareStatement(cmd);
pstat.setString(1,mm.GetMes(0));
ResultSet rs=pstat.executeQuery();
if(!rs.next())
{
mm.SetType("false");
mm.SetNum(0);
System.out.println("No detail for client");
mo.appendmessage("No detail for client"+"\n");
rs.close();
pstat.close();
return true;
}
else{
rs.last();
mm.SetNum(rs.getRow()*7);
rs.beforeFirst();
mm.SetType("true");
int i=0,j=1;
while(rs.next())
{
j=2;
for(;j<=8;i++,j++)
{
if(j == 5)
{
mm.SetMes(df.format(rs.getFloat(j)),i);
}
else
{
mm.SetMes(rs.getString(j), i);
}
}
}
System.out.println("BankClientDetailView success");
mo.appendmessage("BankClientDetailView success"+"\n");
rs.close();
pstat.close();
return true;
}
}
catch(SQLException e){
e.printStackTrace();
System.out.println("SQLException!");
}
return false;
}
public boolean BankAllView(MyMessage mm)
{
try{
stat=conn.createStatement();
ResultSet rs=stat.executeQuery("select * from bank_account");
if(!rs.next())
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -