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

📄 salemanger.java

📁 一个超市收银系统,用eclipse开发,使用了数据库
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
     * @return  double  转换后的双精度数字     * */    public double StrtoDouble(String str){    	double number=0;    	boolean DemiFlag=false;    	double Demi=0.1;    	int len=str.length();    	for(int i=0;i<len;i++){    		if(str.charAt(i)>='0'&&str.charAt(i)<='9'){    			if(DemiFlag){    				if(Demi>0.001){    				    number=number+(str.charAt(i)-'0')*Demi;    				    Demi=Demi/10;    				}    				else{    					if(str.charAt(i)>='5')    					{    						number=number+10*Demi;    						    					}    					return number;    				}    			}    			else{    			    number=number*10+str.charAt(i)-'0';    			}    		}    		else if(str.charAt(i)=='.'){    			if(!DemiFlag)    			    DemiFlag=true;    			else    				return number;    		}else return number;    	}    		    	return number;    	    }    /**     * 删除购物栏物品     */    public void DelProduct(){    	int ViewRow=table.getSelectedRow();        if(ViewRow<0)/*[当前没有选中商品列表]*/       	 return;        else{/*[当前有选中商品列表]*/       	 double money=0;       	 model.removeRow(ViewRow);            table.revalidate();         	 for(int i=0;i<table.getRowCount();i++)/*[重新计算商品总价]*/         		money=money+StrtoDouble(table.getValueAt(i, 4).toString());           DecimalFormat df1=new DecimalFormat("0.00");           String str=df1.format(money);           TTotalCostField.setText(str);           df1=new DecimalFormat("0.0");           TCostField.setText(df1.format(money));           GetChangeResult();        }    }        /**     * 新增购物栏物品     */    public void InsertProduct(){    	String str="";    	str=TIdField.getText();    	for(int i=0;i<table.getRowCount();i++){    		if(table.getValueAt(i, 0).equals(str)){/*[商品列表中存在该商品,则更新商品列表中的数量]*/    			String str1=table.getValueAt(i, 3).toString();    			str=TQualityField.getText();    			double money=StrtoDouble(str)+        		StrtoDouble(str1);    			String money1="";    			DecimalFormat df1=new DecimalFormat("0.00");    			money1=df1.format(money);    			table.setValueAt(money1, i, 3);    			ClearAll();    			return;    		}    	}    	/*[商品列表中找不到该商品,则在商品列表中新增该类商品]*/    	Vector   v   =   new   Vector();           v.addElement(TIdField.getText());           v.addElement(TNameField.getText());         v.addElement(TPriceField.getText());         v.addElement(TQualityField.getText());         double pay=0;	      DecimalFormat df1=new DecimalFormat("0.00");	      pay=StrtoDouble(TPriceField.getText())*StrtoDouble(TQualityField.getText());        str=df1.format(pay);        v.addElement(str);         ClearAll();        model.addRow(v);//添加一行          JMoneyField money=new JMoneyField("",15,2);         TableColumn colorColumn = table.getColumn("数量");        // Use the combo box as the editor in the "Favorite Color" column.        colorColumn.setCellEditor(new DefaultCellEditor(money));        table.revalidate();        pay=0;     	for(int i=0;i<table.getRowCount();i++)     	   pay=pay+StrtoDouble(table.getValueAt(i, 4).toString());        str=df1.format(pay);        TTotalCostField.setText(str);        df1=new DecimalFormat("0.0");        TCostField.setText(df1.format(pay));        GetChangeResult();    }    /**     * 支付结算     * */    public void PayFunction(){           try{        	   FileWriter  myFileStream=new FileWriter("SaleHistory.txt",true);        	  // RandomAccessFile myFileStream=new RandomAccessFile("SaleResult.txt", "rw");         	//   myFileStream . seek(myFileStream.length()) ;        	   String Str="";        	   Str=FormatString(Str,140,"#");        	   Str=Str+"\r\n";        	   myFileStream.write(Str);        	   java.text.SimpleDateFormat date = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss  ");        	   String receivedTime = date.format(new Date(System.currentTimeMillis()));        	   Str="";        	   Str=FormatString(Str,30,"#");        	   Str=Str+"[销售记录单]"+receivedTime;        	   Str=FormatString(Str,140,"#");        	   Str=Str+"\r\n";        	   myFileStream.write(Str);        	   Str="";        	   Str=FormatString(Str,140,"#");        	   Str=Str+"\r\n";        	   myFileStream.write(Str);        	           	   Str="商品编码";        	   Str=FormatString(Str,20," ");        	   Str=Str+"商品名称";        	   Str=FormatString(Str,60," ");        	   Str=Str+"商品单价";        	   Str=FormatString(Str,20," ");        	   Str=Str+"销售数量";        	   Str=FormatString(Str,20," ");        	   Str=Str+"商品总价";        	   Str=FormatString(Str,20," ");        	   System.out.println(Str);        	   Str=Str+"\r\n";        	   myFileStream.write(Str);        	   Str="";        	   Str=FormatString(Str,140,"=");        	   Str=Str+"\r\n";        	   myFileStream.write(Str);        	   while(true){           		try{           			Str="";           			Str=table.getValueAt(0, 0).toString();           			Str=FormatString(Str,20," ");           			Str=Str+table.getValueAt(0, 1).toString();           			Str=FormatString(Str,60," ");           			Str=Str+table.getValueAt(0, 2).toString();           			Str=FormatString(Str,20," ");           			Str=Str+table.getValueAt(0, 3).toString();           			Str=FormatString(Str,20," ");           			Str=Str+table.getValueAt(0, 4).toString();           			Str=FormatString(Str,20," ");           			System.out.println(Str);           			Str=Str+"\r\n";           			//myFileStream.writeUTF(Str.toString());           			//myFileStream.writeBytes(Str);           			myFileStream.write(Str);           			Str="";             	    Str=FormatString(Str,140,"-");             	    Str=Str+"\r\n";             	    myFileStream.write(Str);           			model.removeRow(0);           		}           		catch(Exception e){           		//	myFileStream.close();           		//	myFileStream.           			break;           		}           	}        	           	   Str="总价:"+TTotalCostField.getText();        	   Str=FormatString(Str,20," ");        	   Str=Str+"支付:"+TPayField.getText();        	   Str=FormatString(Str,20," ");        	   Str=Str+"找零:"+TChangeField.getText();        	   Str=FormatString(Str,20," ");        	   Str=Str+"操作员:"+SystemUser.getUserId();        	   Str=FormatString(Str,20," ");        	   Str=Str+"\r\n";        	   myFileStream.write(Str);        	   Str="";        	   Str=FormatString(Str,140,"#");        	   Str=Str+"\r\n"+"\r\n"+"\r\n";        	   myFileStream.write(Str);        	   myFileStream.close();        	   Str="总价:"+TTotalCostField.getText();        	   Str=FormatString(Str,20," ");        	   Str=Str+"支付:"+TPayField.getText();        	   Str=FormatString(Str,20," ");        	   Str=Str+"找零:"+TChangeField.getText();        	   Str=FormatString(Str,20," ");        	   JOptionPane.showMessageDialog(tableAggregate,Str,"信息",JOptionPane.ERROR_MESSAGE,   					new ImageIcon("image/caidanx.gif"));        	   TCostField.setText("");         	   TTotalCostField.setText("");         	   TPayField.setText("");                table.revalidate();           }           catch(IOException e)           {        	   while(true){           		try{           			model.removeRow(0);           		}           		catch(Exception ex){           			break;           		}  table.revalidate();        	   }        	   JOptionPane.showMessageDialog(tableAggregate,"文件操作失败,不能保存结算结果!","提示",JOptionPane.ERROR_MESSAGE,   					new ImageIcon("image/caidanx.gif"));        	   TCostField.setText("");         	   TTotalCostField.setText("");         	   TPayField.setText("");        	         	   return;           }    }    /**     * 获取找零组合     * @param  Money  要获取找零组合的数字     * @return 返回找零组合字符串      * */    public String getChangeMethod(double Money){    	int hundredY=0;    	int fiftyY=0;    	int twentyY=0;    	int tenY=0;    	int fiveY=0;    	int oneY=0;    	int fiveJ=0;    	int oneJ=0;    	int tempMoney=(int)(Money*10);    	hundredY=(int)tempMoney/1000;    	tempMoney=tempMoney%1000;    	fiftyY=(int)tempMoney/500;    	tempMoney=tempMoney%500;    	twentyY=(int)tempMoney/200;    	tempMoney=tempMoney%200;    	tenY=(int)tempMoney/100;    	tempMoney=tempMoney%100;    	fiveY=(int)tempMoney/50;    	tempMoney=tempMoney%50;    	oneY=(int)tempMoney/10;    	tempMoney=tempMoney%10;    	fiveJ=(int)tempMoney/5;    	tempMoney=tempMoney%5;    	oneJ=(int)tempMoney;    	String Str="找零组合:";    	if(hundredY>0)    		Str=Str+hundredY+"张一百元* ";    	if(fiftyY>0)    		Str=Str+fiftyY+"张五十元* ";    	if(twentyY>0)    		Str=Str+twentyY+"张二十元* ";    	if(tenY>0)    		Str=Str+tenY+"张十元* ";    	if(fiveY>0)    		Str=Str+fiveY+"张五元* ";    	if(oneY>0)    		Str=Str+oneY+"张一元* ";    	if(fiveJ>0)    		Str=Str+fiveJ+"张五角* ";    	if(oneJ>0)    		Str=Str+oneJ+"张一角* ";    	return Str;    }    /**     * 格式化字符串     * @param  Str     要格式化的字符串     * @param  Len     字符串格式基本长度量     * @param  Sub     填充字符     * @return String  格式化后的字符串         * */    public String FormatString(String str,int Len,String Sub){    	int ModLen=0;    	int   size=0;       	for(int   i=0;i<str.length();i++){       	  size++;       	  int   ii=(int)str.charAt(i);       	  if(ii<=0||ii>=126)   size++;//双字节字符       	}       	ModLen=size%Len;    	ModLen=Len-ModLen;    	for(int i=0;i<ModLen;i++)    		str=str+Sub;    	return str;    }    /**     * 连接数据库     * */    public void connect() {        dataBase = new JDBCAdapter(        	 "jdbc:odbc:data",             "sun.jdbc.odbc.JdbcOdbcDriver",             "",             "");    }    /**     * 简易销售系统初始化     * */    public SaleManger() {        mainPanel = new JPanel();        /*[创建登陆框]*/        createConnectionDialog();        // Create the buttons.        ManagerButton = new JButton("管理");        ManagerButton.addActionListener(new ActionListener() {	        public void actionPerformed(ActionEvent e) {	        }	    }        );        BuyButton = new JButton("购买");        BuyButton.setDefaultCapable(true);        BuyButton.addActionListener(new ActionListener() {	        public void actionPerformed(ActionEvent e) {	            //fetch();	        	if(TIdField.getText().length()<13){	        		JOptionPane.showMessageDialog(tableAggregate,"必须输入13位商品编码","提示",JOptionPane.ERROR_MESSAGE,	    					new ImageIcon("image/caidanx.gif"));	        		return;	        	}	        	if(TNameField.isEditable()){	        		TNameField.setEditable(false);	        		TPriceField.setEditable(false);	        		String query="Insert into Product(ID,Name,Price)values('"+	        		              TIdField.getText()+"','"+	        		              TNameField.getText()+"',"+	        		              TPriceField.getText()+")";	        		dataBase.updateQuery(query);	        	}	            InsertProduct();	        }        });        BuyButton.setIcon(BuyIcon);                // Create the table.        tableAggregate = createTable();        tableAggregate.setBorder(new BevelBorder(BevelBorder.LOWERED));                       /*[菜单栏初始化]*/        bar.setOpaque(true);        About.setIcon(icon);

⌨️ 快捷键说明

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