📄 bestsalerpane.java
字号:
}
set.beforeFirst();
while(set.next()){
String name=set.getString(1);
int sale=set.getInt(2);
if(sale==saleOfBestToday){
dataForTable2[count1][0]="本日销售额最大商品";
dataForTable2[count1][1]=name;
dataForTable2[count1][2]=sale+"";
count1++;
}
}
}catch(Exception e){//e.printStackTrace();
}
//以上代码没有问题
String[][] nameAndQuantity3=new String[num][2];//存储本月所有销售商品名称和销售额
String[][] nameAndQuantity4=new String[num][2];//存储本年所有销售商品名称和销售额
set=null;
set=con.executeSelect1("select distinct To_Third_name from operationRecord where operationState='1'");
int startNew=0;
try{
while(set.next()){
String name=set.getString(1);
nameAndQuantity3[startNew][0]=name;
nameAndQuantity3[startNew][1]="0";
nameAndQuantity4[startNew][0]=name;
nameAndQuantity4[startNew][1]="0";
startNew++;
}
}catch(Exception e){
e.printStackTrace();
}
set=null;
String query4="SELECT To_Third_name AS third_name,price*quantity AS saled ,operateTime FROM operationRecord,Third_Catalog"+
" WHERE To_Third_name=Third_name and operationState = '1'";
set=con.executeSelect1(query4);
try{
while(set.next()){
String name=set.getString(1);
int moneyGetFromSale=set.getInt(2);
String dateStrGet=formatter.format(set.getDate(3));
int yearGet=0;
int monthGet=0;
StringTokenizer st1=new StringTokenizer(dateStrGet,"-");
int countGet=0;
while(st1.hasMoreTokens()){
if(countGet==0)
yearGet=(new Integer(st1.nextToken())).intValue();
if(countGet==1){
monthGet=(new Integer(st1.nextToken())).intValue();
break;
}
countGet++;
}
if(yearGet==year&&monthGet==month){
for(int count2=0;count2<start;count2++){
if(nameAndQuantity3[count2][0].equals(name)){
int numNew=(new Integer(nameAndQuantity3[count2][1])).intValue()+moneyGetFromSale;
nameAndQuantity3[count2][1]=numNew+"";
}
if(nameAndQuantity4[count2][0].equals(name)){
int numNew=(new Integer(nameAndQuantity4[count2][1])).intValue()+moneyGetFromSale;
nameAndQuantity4[count2][1]=numNew+"";
}
}
}
if(yearGet==year&&monthGet!=month){
for(int count2=0;count2<start;count2++){
if(nameAndQuantity4[count2][0].equals(name)){
int numNew=(new Integer(nameAndQuantity4[count2][1])).intValue()+moneyGetFromSale;
nameAndQuantity4[count2][1]=numNew+"";
break;
}
}
}
}
int saleOfBestMonth=0;
int saleOfBestYear=0;
for(int startOfCount=0;startOfCount<num;startOfCount++){
int temp1=(new Integer(nameAndQuantity3[startOfCount][1])).intValue();
if(temp1>saleOfBestMonth){
saleOfBestMonth=temp1;
}
int temp2=(new Integer(nameAndQuantity4[startOfCount][1])).intValue();
if(temp2>saleOfBestYear){
saleOfBestYear=temp2;
}
}
for(int startOfCount=0;startOfCount<num;startOfCount++){
if(nameAndQuantity3[startOfCount][1].equals(""+saleOfBestMonth)){
dataForTable2[count1][0]="本月销售额最大商品";
dataForTable2[count1][1]=nameAndQuantity3[startOfCount][0];
dataForTable2[count1][2]=nameAndQuantity3[startOfCount][1];
count1++;
}
}
for(int startOfCount=0;startOfCount<num;startOfCount++){
if(nameAndQuantity4[startOfCount][1].equals(""+saleOfBestYear)){
dataForTable2[count1][0]="本年销售额最大商品";
dataForTable2[count1][1]=nameAndQuantity4[startOfCount][0];
dataForTable2[count1][2]=nameAndQuantity4[startOfCount][1];
count1++;
}
}
}catch(Exception e){
e.printStackTrace();
}
table2=new JTable(dataForTable2,titleForTables);
scrollPane2=new JScrollPane(table2);
//以下是获得本日/本月/本年最赢利商品名称和赢利数额
set=null;
String[][] dataForTable3=new String[row][3];
String query5="SELECT To_Third_name AS third_name,sum((price-cost)*quantity) AS saled FROM operationRecord,Third_Catalog "+
"WHERE To_Third_name=Third_name and operationState = '1' and operateTime ='"+dateStr+"'group by To_Third_name";
set=con.executeSelect1(query5);
int profitOfBestToday=0;//置初始数量为零
int count2=0;//置初始计数为零
try{
while(set.next()){
set.getString(1);
int profit=set.getInt(2);
if(profit>profitOfBestToday)
profitOfBestToday=profit;
//JOptionPane.showMessageDialog(null,set.getInt(2)+"","测试",JOptionPane.INFORMATION_MESSAGE);//测试是否获得正确的本日最畅销商品数量
}
set.beforeFirst();
while(set.next()){
String name=set.getString(1);
int profit=set.getInt(2);
if(profit==profitOfBestToday){
dataForTable3[count2][0]="本日最赢利商品";
dataForTable3[count2][1]=name;
dataForTable3[count2][2]=profit+"";
count2++;
}
}
}catch(Exception e){//e.printStackTrace();
}
//以上代码没有问题
String[][] nameAndQuantity5=new String[num][2];//存储本月所有销售商品名称和销售额
String[][] nameAndQuantity6=new String[num][2];//存储本年所有销售商品名称和销售额
set=null;
set=con.executeSelect1("select distinct To_Third_name from operationRecord where operationState='1'");
int startRenew=0;
try{
while(set.next()){
String name=set.getString(1);
nameAndQuantity5[startRenew][0]=name;
nameAndQuantity5[startRenew][1]="0";
nameAndQuantity6[startRenew][0]=name;
nameAndQuantity6[startRenew][1]="0";
startRenew++;
}
}catch(Exception e){
e.printStackTrace();
}
set=null;
String query6="SELECT To_Third_name AS third_name,(price-cost)*quantity AS saled ,operateTime FROM operationRecord,Third_Catalog"+
" WHERE To_Third_name=Third_name and operationState = '1'";
set=con.executeSelect1(query6);
try{
while(set.next()){
String name=set.getString(1);
int profitGetFromSale=set.getInt(2);
String dateStrGet=formatter.format(set.getDate(3));
int yearGet=0;
int monthGet=0;
StringTokenizer st1=new StringTokenizer(dateStrGet,"-");
int countGet=0;
while(st1.hasMoreTokens()){
if(countGet==0)
yearGet=(new Integer(st1.nextToken())).intValue();
if(countGet==1){
monthGet=(new Integer(st1.nextToken())).intValue();
break;
}
countGet++;
}
if(yearGet==year&&monthGet==month){
for(int count3=0;count3<start;count3++){
if(nameAndQuantity5[count3][0].equals(name)){
int numNew=(new Integer(nameAndQuantity5[count3][1])).intValue()+profitGetFromSale;
nameAndQuantity5[count3][1]=numNew+"";
}
if(nameAndQuantity6[count3][0].equals(name)){
int numNew=(new Integer(nameAndQuantity6[count3][1])).intValue()+profitGetFromSale;
nameAndQuantity6[count3][1]=numNew+"";
}
}
}
if(yearGet==year&&monthGet!=month){
for(int count3=0;count3<start;count3++){
if(nameAndQuantity6[count3][0].equals(name)){
int numNew=(new Integer(nameAndQuantity6[count3][1])).intValue()+profitGetFromSale;
nameAndQuantity6[count3][1]=numNew+"";
break;
}
}
}
}
int profitOfBestMonth=0;
int profitOfBestYear=0;
for(int startOfCount=0;startOfCount<num;startOfCount++){
int temp1=(new Integer(nameAndQuantity5[startOfCount][1])).intValue();
if(temp1>profitOfBestMonth){
profitOfBestMonth=temp1;
}
int temp2=(new Integer(nameAndQuantity6[startOfCount][1])).intValue();
if(temp2>profitOfBestYear){
profitOfBestYear=temp2;
}
}
for(int startOfCount=0;startOfCount<num;startOfCount++){
if(nameAndQuantity5[startOfCount][1].equals(""+profitOfBestMonth)){
dataForTable3[count2][0]="本月最赢利商品";
dataForTable3[count2][1]=nameAndQuantity5[startOfCount][0];
dataForTable3[count2][2]=nameAndQuantity5[startOfCount][1];
count2++;
}
}
for(int startOfCount=0;startOfCount<num;startOfCount++){
if(nameAndQuantity6[startOfCount][1].equals(""+profitOfBestYear)){
dataForTable3[count2][0]="本年最赢利商品";
dataForTable3[count2][1]=nameAndQuantity6[startOfCount][0];
dataForTable3[count2][2]=nameAndQuantity6[startOfCount][1];
count2++;
}
}
}catch(Exception e){
e.printStackTrace();
}
table3=new JTable(dataForTable3,titleForTables);
scrollPane3=new JScrollPane(table3);
}
this.setLayout(new GridLayout(6,1));
this.add(tip1Pane);
this.add(scrollPane1);
this.add(tip2Pane);
this.add(scrollPane2);
this.add(tip3Pane);
this.add(scrollPane3);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -