销售管理系统课程设计(添加了报表表格的输出)

 

 

package p1;
public class Salesperson implements Comparable<Salesperson>
{
	 private String id="0000";
	 private String name="张三";
     private double sales1=0;
     private double sales2=0;
     private double sales3=0;
     private double sales4=0;
     private double sales5=0;
     private double sumSales=0;
     public  double [][]newSales=new double [30][5];
     public  String [][]message=new String[30][5];
     public double []sales=new double [5];
     
     public Salesperson()
     {}
     public Salesperson(String name,String id,double sales1,double sales2,double sales3,double sales4,double sales5)
     {
    	 this.name=name;
    	 this.id=id;
    	 this.sales1=sales1;
    	 this.sales2=sales2;
    	 this.sales3=sales3;
    	 this.sales4=sales4;
    	 double sumSales=this.sales1+this.sales2+this.sales3+this.sales4;
    	 addToArray();
     }
     public double getSales1()
     {
    	 return this.sales1;
     }
     public double getSales2()
     {
    	 return this.sales2;
     }
     public double getSales3()
     {
    	 return this.sales3;
     }
     public double getSales4()
     {
    	 return this.sales4;
     }
     public double getSales5()
     {
    	 return this.sales5;
     }
     public String  getName()
     {
    	 return this.name;
     }
     public double getSumSales()
     {
    	 return this.sales1+this.sales2+this.sales3+this.sales4+this.sales5;
     }
     public String getId()
     {
    	 return this.id;
     }
     public void setSales(double sales1,double sales2,double sales3,double sales4)
     {
    	 this.sales1=sales1;
    	 this.sales2=sales2;
    	 this.sales3=sales3;
    	 this.sales4=sales4;
    	 this.sales5=sales5;
     }
     public void setSales1(double sales1)
     {
    	 this.sales1=sales1;
     }
     public void setSales2(double sales2)
     {
    	 this.sales2=sales2;
     }
     public void setSales3(double sales3)
     {
    	 this.sales3=sales3;
     }
     public void setSales4(double sales4)
     {
    	 this.sales4=sales4;
     }
     public void setSales5(double sales5)
     {
    	 this.sales5=sales5;
     }
     public void setId(String id)
     {
    	 this.id=id;
     }
     public void addSales1(double add)
     {
    	 this.sales1=sales1+add;
    	 addToArray();
     }
     public void addSales2(double add)
     {
    	 this.sales2=sales2+add;
    	 addToArray();
     }
     public void addSales3(double add)
     {
    	 this.sales3=sales3+add;
    	 addToArray();
     }
     public void addSales4(double add)
     {
    	 this.sales4=sales4+add;
    	 addToArray();
     }
     public void addSales5(double add)
     {
    	this.sales5=sales5+add;
    	 addToArray();
     }
     
     public void  freshSum()
     {
    	 this.sumSales=this.sales1+this.sales2+this.sales3+this.sales4+this.sales5;
     }
     public void addToArray()
     {
    	 sales[0]=sales1;
    	 sales[1]=sales2;
    	 sales[2]=sales3;
    	 sales[3]=sales4;
    	 sales[4]=sales5;
    	 
     }
     public String toString()
     {
    	 freshSum();
    	 return "这个月"+this.name+"的营业额如下:"
     +"\n一号产品的营业额为:"+this.sales1
     +"\n二号产品的营业额为:"+this.sales2
     +"\n三号产品的营业额为:"+this.sales3
     +"\n四号产品的营业额为:"+this.sales4
     +"\n五号产品的营业额为:"+this.sales5
     +"\n总营业额为:"+this.sumSales+"\n";
     }
     public int compareTo(Salesperson o)
     {
    	 return (int)(this.sumSales-o.sumSales);
     }
}


 

package p1;
import java.util.Map;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;

import java.awt.Container;
import java.awt.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Collections;
import java.util.Comparator;

public class Test 
{
	
    
	public static void main(String[] args) 
	{
		// TODO Auto-generated method stub
		//创建多名员工
		Salesperson person1=new Salesperson("张三","0001",0,0,0,0,0);
		Salesperson person2=new Salesperson("李四","0002",0,0,0,0,0);
		Salesperson person3=new Salesperson("王五","0003",0,0,0,0,0);
		Salesperson person4=new Salesperson("任六","0004",0,0,0,0,0);
		//使用HashMap储存多名员工工号和员工的键值对
		ArrayList <Salesperson>salesperson=new ArrayList<>();
		salesperson.add( person1);
		salesperson.add( person2);
		salesperson.add( person3);
		salesperson.add( person4);
		addScrip(person1,person2,person3,person4);
		System.out.printf(person1.toString());
		System.out.printf(person2.toString());
		System.out.printf(person3.toString());
		System.out.printf(person4.toString());
		sortBySum(salesperson);
		/*person1.compareTo(person2);*/
		sortProduct(person1,person2,person3,person4);
		initFrame(person1, person2, person3,person4);
		
	}
	//按销售额排序
	public static void sortBySum(ArrayList <Salesperson>salesperson)
	{
		int i=0;//计算排名
		System.out.printf("按总销售额对销售员进行排序:\n");
		Collections.sort(salesperson,new Comparator<Salesperson>()
		{

		@Override
			public int compare(Salesperson o1, Salesperson o2)
			{
				// TODO Auto-generated method stub
					return (int)(0-(o1.getSumSales()-o2.getSumSales()));
			}
			
		});

		for (Salesperson person : salesperson) 
			{
				i++;
				System.out.print("排名第"+i+"  "+person.getName()+"  "+person.getId()+"  "+person.getSumSales()+"\n");

			}
}
		//按销售量对产品排序 
	public static void sortProduct(Salesperson person1,Salesperson person2,Salesperson person3,Salesperson person4)
	{
		int j=0;//计算排名
		Product product[]=new Product[5];
		for(int i=0;i<5;i++)
		{
			product[i]=new Product("000"+i);
		}
		product[0].setSales(person1.getSales1()+person2.getSales1()+person3.getSales1()+person4.getSales1());
		product[1].setSales(person1.getSales2()+person2.getSales2()+person3.getSales2()+person4.getSales2());
		product[2].setSales(person1.getSales3()+person2.getSales3()+person3.getSales3()+person4.getSales3());
		product[3].setSales(person1.getSales4()+person2.getSales4()+person3.getSales4()+person4.getSales4());
		product[4].setSales(person1.getSales5()+person2.getSales5()+person3.getSales5()+person4.getSales5());
		ArrayList <Product>productList=new ArrayList();
		productList.add(product[0]);
		productList.add(product[1]);
		productList.add(product[2]);
		productList.add(product[3]);
		productList.add(product[4]);
		Collections.sort(productList,new Comparator<Product>()
				{
					@Override
					public int compare(Product o1, Product o2)
					{
						// TODO Auto-generated method stub
						return (int)(0-(o1.getSales()-o2.getSales()));
					}
				}
				);
		for(Product products:productList)
		{
			j++;
			System.out.printf("排名第"+j+"  "+"产品id:"+products.getId()+"  产品销售额:"+products.getSales()+"\n");
		}
	}

		//模拟三十天的营业
		public static void addScrip(Salesperson person1,Salesperson person2,Salesperson person3,Salesperson person4)
        
	{
		double temp=0;
		for(int i=0;i<30;i++)
		{
				for(int j=1;j<5;j++)
			{
					switch(j)
				{
					case 1:
						person1.addSales1((temp=Math.random()*10001));
						person1.message[i][0]="1号产品销售额增长了"+temp+"元,变为了"+temp+person1.getSales1();
						person1.newSales[i][0]=temp;
						person1.addSales2((temp=Math.random()*10001));
						person1.message[i][1]="2号产品销售额增长了"+temp+"元,变为了"+temp+person1.getSales2();
						person1.newSales[i][1]=temp;
						person1.addSales3((temp=Math.random()*10001));
						person1.message[i][2]="3号产品销售额增长了"+temp+"元,变为了"+temp+person1.getSales3();
						person1.newSales[i][2]=temp;
						person1.addSales4((temp=Math.random()*10001));
						person1.message[i][3]="4号产品销售额增长了"+temp+"元,变为了"+temp+person1.getSales4();
						person1.newSales[i][3]=temp;
						person1.addSales5((temp=Math.random()*10001));
						person1.message[i][4]="5号产品销售额增长了"+temp+"元,变为了"+temp+person1.getSales5();
						person1.newSales[i][4]=temp;
						continue;
					case 2:
						person2.addSales1((temp=Math.random()*10001));
						person2.message[i][0]="1号产品销售额增长了"+temp+"元,变为了"+temp+person2.getSales1();
						person2.newSales[i][0]=temp;
						person2.addSales2((temp=Math.random()*10001));
						person2.message[i][1]="2号产品销售额增长了"+temp+"元,变为了"+temp+person2.getSales2();
						person2.newSales[i][1]=temp;
						person2.addSales3((temp=Math.random()*10001));
						person2.message[i][2]="3号产品销售额增长了"+temp+"元,变为了"+temp+person2.getSales3();
						person2.newSales[i][2]=temp;
						person2.addSales4((temp=Math.random()*10001));
						person2.message[i][3]="4号产品销售额增长了"+temp+"元,变为了"+temp+person2.getSales4();
						person2.newSales[i][3]=temp;
						person2.addSales5((temp=Math.random()*10001));
						person2.message[i][4]="5号产品销售额增长了"+temp+"元,变为了"+temp+person2.getSales5();
						person2.newSales[i][4]=temp;
						continue;
					case 3:
						person3.addSales1((temp=Math.random()*10001));
						person3.message[i][0]="1号产品销售额增长了"+temp+"元,变为了"+temp+person3.getSales1();
						person3.newSales[i][0]=temp;
						person3.addSales2((temp=Math.random()*10001));
						person3.message[i][1]="2号产品销售额增长了"+temp+"元,变为了"+temp+person3.getSales2();
						person3.newSales[i][1]=temp;
						person3.addSales3((temp=Math.random()*10001));
						person3.message[i][2]="3号产品销售额增长了"+temp+"元,变为了"+temp+person3.getSales3();
						person3.newSales[i][2]=temp;
						person3.addSales4((temp=Math.random()*10001));
						person3.message[i][3]="4号产品销售额增长了"+temp+"元,变为了"+temp+person3.getSales4();
						person3.newSales[i][3]=temp;
						person3.addSales5((temp=Math.random()*10001));
						person3.message[i][4]="5号产品销售额增长了"+temp+"元,变为了"+temp+person3.getSales5();
						person3.newSales[i][4]=temp;
						continue;
					case 4:
						person4.addSales1((temp=Math.random()*10001));
						person4.message[i][0]="1号产品销售额增长了"+temp+"元,变为了"+temp+person4.getSales1();
						person4.newSales[i][0]=temp;
						person4.addSales2((temp=Math.random()*10001));
						person4.message[i][1]="2号产品销售额增长了"+temp+"元,变为了"+temp+person4.getSales2();
						person4.newSales[i][1]=temp;
						person4.addSales3((temp=Math.random()*10001));
						person4.message[i][2]="3号产品销售额增长了"+temp+"元,变为了"+temp+person4.getSales3();
						person4.newSales[i][2]=temp;
						person4.addSales4((temp=Math.random()*10001));
						person4.message[i][3]="4号产品销售额增长了"+temp+"元,变为了"+temp+person4.getSales4();
						person4.newSales[i][3]=temp;
						person4.addSales5((temp=Math.random()*10001));
						person4.message[i][4]="5号产品销售额增长了"+temp+"元,变为了"+temp+person4.getSales5();
						person4.newSales[i][4]=temp;
						continue;
				}
				 
				
			}
		}
	}
		public static void initFrame(Salesperson person1,Salesperson person2,Salesperson person3,Salesperson person4)
		{
			//将四个Salesperson对象放进数组
			//Test t;
			Salesperson []p=new Salesperson[4];
			p[0]=person1;
			p[1]=person2;
			p[2]=person3;
			p[3]=person4;
			JFrame frame=new JFrame("销售统计报表");
			frame.setVisible(true);
			frame.setBounds(205, 255, 800, 500);
			Container c=frame.getContentPane();
			//设置JTable的参数
			
			String [][]rowDate=new String[6][8];
			for(int i=0;i<6;i++)
				for(int j=0;j<8;j++)
				{
					if(0==i&&0==j)
					{
						rowDate[i][j]="销售员代号";
					}
					if(i>0&&i<5&&0==j)
					{
						rowDate[i][j]="000"+i;
					}
					
					
					if(i<5&&i>0&&j>1&&j<7)
					{
						rowDate[i][j]=String.valueOf(p[i-1].sales[j-2]);
					}
					if(i==5&&j>1&&j<7)
					{
						double temp=Double.parseDouble(rowDate[1][j])+Double.parseDouble(rowDate[2][j])+Double.parseDouble(rowDate[3][j])+Double.parseDouble(rowDate[4][j]);
						rowDate[5][j]=String.valueOf(temp);
					}
					if(i<6&&i>0&&7==j)
					{
						double temp=Double.parseDouble(rowDate[i][2])+Double.parseDouble(rowDate[i][3])+Double.parseDouble(rowDate[i][4])+Double.parseDouble(rowDate[i][5])+Double.parseDouble(rowDate[i][6]);
						rowDate[i][7]=String.valueOf(temp);
					}
					if(5==i&&0==j)
					{
						rowDate[i][j]="销售额之和(元)";
					}
					
					
				}
			final String []columnNames={" ","产品编号","0001","0002","0003","0004","0005","销售额之和(元)"};
			JTable table=new JTable(rowDate,columnNames);
			JScrollPane js=new JScrollPane(table);
			c.add(js);
			frame.pack();
			frame.setLocationRelativeTo(null);
		}
		
}

 下面是运行结果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值