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

📄 hireoutfrm.cs

📁 本代码设计了一个销售管理系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
			this.Controls.Add(this.info);
			this.Controls.Add(this.morderbtn);
			this.Controls.Add(this.dataGrid1);
			this.Controls.Add(this.label4);
			this.Controls.Add(this.onum);
			this.Controls.Add(this.goodsselect);
			this.Controls.Add(this.label3);
			this.Controls.Add(this.findbtn);
			this.Controls.Add(this.label2);
			this.Controls.Add(this.goodsname);
			this.Controls.Add(this.label1);
			this.Controls.Add(this.barcode);
			this.Controls.Add(this.H);
			this.Controls.Add(this.S);
			this.Name = "hireoutFrm";
			this.Text = "出售与出租";
			((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
			this.ResumeLayout(false);

		}
		#endregion

		private Font printFont;
		private StringReader streamToPrint;
		private static DataTable dt=new DataTable("OrderInfo");
		private static string BarCodeStr="",GoodsNameStr="",DbType="",OrderNumStr="1";
		private static void BuildTable(){
			dt.Rows.Clear();
			dt.Columns.Clear();
			dt.Columns.Add("ID", typeof(Int32));
			dt.Columns.Add("Name", typeof(String));
			dt.Columns.Add("BarCode", typeof(String));
			dt.Columns.Add("GoodsType", typeof(String));
			dt.Columns.Add("MemberPrice", typeof(Double));
			dt.Columns.Add("GoodsPrice", typeof(Double));
			dt.Columns.Add("HirePrice", typeof(String));
			dt.Columns.Add("KCNum", typeof(Int32));
			dt.Columns.Add("OrderNum", typeof(Int32));
		}
		private void findbtn_Click(object sender, System.EventArgs e)
		{
			if(S.Checked)DbType="S";
			if(H.Checked)DbType="H";
			if(DbType=="")
			{
				MessageBox.Show("请选择租售类型");
			}
			else
			{
				BarCodeStr=barcode.Text;
				GoodsNameStr=goodsname.Text;
				OrderNumStr=onum.Text;
				if((BarCodeStr!="")||(GoodsNameStr!=""))
				{
					goodsselect.DataBindings.Clear();
					string AddSql="";
					if(BarCodeStr!="")AddSql+=" and BarCode like '%"+BarCodeStr+"%'";
					if(GoodsNameStr!="")AddSql+=" and GoodsName like '%"+GoodsNameStr+"%'";
					SqlDataAdapter sdr=new SqlDataAdapter("select top 10 ID,BarCode,GoodsType+GoodsName as GoodsName from Goods_"+DbType+" where DepartMent='"+FPara.ShopCode+"' "+AddSql+" order by ID desc",FPara.connStr);
					DataSet ds=new DataSet();
					sdr.Fill(ds,"find");
					goodsselect.DataSource=ds;
					goodsselect.DataBindings.Add("Text",ds,"find.GoodsName");
					goodsselect.DisplayMember = "find.GoodsName";
					goodsselect.ValueMember = "find.ID";
					if(ds.Tables["find"].Rows.Count==1){
						goodsselect_SelectedIndexChanged(sender,e);
						goodsselect.SelectedIndex=0;
					}
					barcode.Text="";
					goodsname.Text="";
					onum.Text="1";

				}
				else{
					MessageBox.Show("请输入商品条码或名称");
				}
			}
		}

		private void goodsselect_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			string AddID=goodsselect.SelectedValue.ToString();
			try
			{
				int TestID=int.Parse(AddID);
				string DelCmdStr="0";
				for(int rnum=0;rnum<dt.Rows.Count;rnum++){
					if(dt.Rows[rnum]["ID"].ToString().Trim()==AddID.Trim()){
						dt.Rows[rnum].Delete();
						DelCmdStr="1";
						break;
					}
				}
				if(DelCmdStr=="0")
				{
					SqlDataReader sdr=FPara.SqlReader("select top 1 ID,GoodsName,BarCode,GoodsType,GoodsPrice,MemberPrice,HirePrice,KCNum from Goods_"+DbType+" where ID="+AddID,FPara.connStr);
					if(sdr!=null)
					{
						if(sdr.Read())
						{
							DataRow dr=dt.NewRow();
							dr["ID"]=AddID;
							dr["Name"]=sdr["GoodsName"].ToString();
							dr["BarCode"]=sdr["BarCode"].ToString();
							dr["GoodsType"]=sdr["GoodsType"].ToString();
							dr["GoodsPrice"]=sdr["GoodsPrice"].ToString();
							dr["MemberPrice"]=sdr["MemberPrice"].ToString();
							dr["HirePrice"]=sdr["HirePrice"].ToString();
							dr["KCNum"]=sdr["KCNum"].ToString();
							if(int.Parse(sdr["KCNum"].ToString())<int.Parse(OrderNumStr))
							{
								MessageBox.Show("库存不够,目前只有"+sdr["KCNum"].ToString());
								if(int.Parse(sdr["KCNum"].ToString())>0)
								{
									dr["OrderNum"]=sdr["KCNum"].ToString();
									dt.Rows.Add(dr);
								}

							}
							else{
								dr["OrderNum"]=OrderNumStr;
								dt.Rows.Add(dr);
							}
						}
						sdr.Close();
					}
				}
				double TotalGoodsPrice=0,TotalMemberPrice=0,TotalNum=0,TotalHirePrice=0;
				for(int cnum=0;cnum<dt.Rows.Count;cnum++)
				{
					TotalGoodsPrice+=double.Parse(dt.Rows[cnum]["GoodsPrice"].ToString())*double.Parse(dt.Rows[cnum]["OrderNum"].ToString());
					TotalMemberPrice+=double.Parse(dt.Rows[cnum]["MemberPrice"].ToString())*double.Parse(dt.Rows[cnum]["OrderNum"].ToString());
					if(DbType=="H")TotalHirePrice+=double.Parse(dt.Rows[cnum]["HirePrice"].ToString())*double.Parse(dt.Rows[cnum]["OrderNum"].ToString());
					TotalNum+=double.Parse(dt.Rows[cnum]["OrderNum"].ToString());
				}
				totalgoodsstr.Text=TotalGoodsPrice.ToString();
				totalmemberstr.Text=TotalMemberPrice.ToString();
				totalnumstr.Text=TotalNum.ToString();
				if(DbType=="H")info.Text="总押金:"+TotalHirePrice.ToString()+"元";
			}
			catch(Exception ex){}
			dataGrid1.DataSource=dt;//注意啊
		}

		private void morderbtn_Click(object sender, System.EventArgs e)
		{
			string MemeberCodeStr=membercode.Text.ToString();
			if(MemeberCodeStr!="")
			{
				Order_Click("M",sender,e);
			}
			else{
				MessageBox.Show("请输入会员卡号");
			}
		}
		
		private void orderbtn_Click(object sender, System.EventArgs e)
		{
			Order_Click("",sender,e);
		}
		private void Order_Click(string UserType,object sender, System.EventArgs e){
			string GoodsCodeStr="",GoodsNameStr="",GoodsPriceStr="",MemberPriceStr="",GoodsNumStr="",PrintCont="",TotalMoneyInfo="0",AddSpace="          ";
			SqlDataAdapter msda=new SqlDataAdapter("select top 1 * from D_"+FPara.ShopCode+" order by id desc",FPara.connStr);
			SqlCommandBuilder UserCB = new SqlCommandBuilder(msda);
			DataSet mds=new DataSet();
			msda.Fill(mds,"newinfo");
			DataTable mdt=mds.Tables["newinfo"];
			int NewTempid=1;
			if(mdt.Rows.Count==1)NewTempid=int.Parse(mdt.Rows[0]["ID"].ToString())+1;
			DataRow mdr=mdt.NewRow();
			mdr["ID"]=NewTempid;
			mdr["MyAction"]=DbType;
			for(int anum=0;anum<dt.Rows.Count;anum++)
			{
				string KCerror=FPara.SqlCmd("update Goods_"+DbType+" set KCNum=KCNum-"+int.Parse(dt.Rows[anum]["OrderNum"].ToString())+" where DepartMent='"+FPara.ShopCode+"' and BarCode ='"+dt.Rows[anum]["BarCode"].ToString()+"' and ID="+dt.Rows[anum]["ID"].ToString()+" and KCNum>0",FPara.connStr);//调整库存
				if(KCerror!=null){
					MessageBox.Show(dt.Rows[anum]["BarCode"].ToString()+"库存出错,请检查并修正\n交易继续进行..."+KCerror);
				}
				GoodsCodeStr+=dt.Rows[anum]["BarCode"].ToString()+";";
				GoodsNameStr+=dt.Rows[anum]["Name"].ToString()+";";
				GoodsPriceStr+=dt.Rows[anum]["GoodsPrice"].ToString()+";";
				MemberPriceStr+=dt.Rows[anum]["MemberPrice"].ToString()+";";
				GoodsNumStr+=dt.Rows[anum]["OrderNum"].ToString()+";";
				if(UserType=="M")
				{
					PrintCont+=dt.Rows[anum]["BarCode"].ToString()+AddSpace+(dt.Rows[anum]["OrderNum"].ToString()+"        ").Substring(0,8)+AddSpace+(dt.Rows[anum]["MemberPrice"].ToString()+"          ").Substring(0,10)+AddSpace+((double.Parse(dt.Rows[anum]["MemberPrice"].ToString())*double.Parse(dt.Rows[anum]["OrderNum"].ToString())).ToString()+"      ").Substring(0,6)+"\r";
				}
				else{
					PrintCont+=dt.Rows[anum]["BarCode"].ToString()+AddSpace+(dt.Rows[anum]["OrderNum"].ToString()+"        ").Substring(0,8)+AddSpace+(dt.Rows[anum]["GoodsPrice"].ToString()+"          ").Substring(0,10)+AddSpace+((double.Parse(dt.Rows[anum]["GoodsPrice"].ToString())*double.Parse(dt.Rows[anum]["OrderNum"].ToString())).ToString()+"      ").Substring(0,6)+"\r";
				}
			}
			mdr["GoodsCode"]=GoodsCodeStr;
			mdr["GoodsName"]=GoodsNameStr;
			if(UserType=="M")
			{
				mdr["GoodsPrice"]=MemberPriceStr;
				mdr["TotalMoney"]=totalmemberstr.Text;
			}
			else{
				mdr["GoodsPrice"]=GoodsPriceStr;
				mdr["TotalMoney"]=totalgoodsstr.Text;
			}
			TotalMoneyInfo=mdr["TotalMoney"].ToString();
			mdr["GoodsNum"]=GoodsNumStr;
			mdr["ActionNum"]=totalnumstr.Text;
			mdr["MemberID"]=membercode.Text.ToString();
			mdr["ActionTime"]=String.Format("{0:yyyy-MM-dd}",System.DateTime.Today);
			mdr["Info"]=info.Text;
			mdt.Rows.Add(mdr);
			try
			{
				int errorNum=msda.Update(mds,"newinfo");
				if(errorNum==1)
				{
					//打印
					string PrintContStr="\t欢迎光临浪淘沙音像店\r";
					if(UserType=="M")
					{
						PrintContStr+="会员";
					}
					else
					{
						PrintContStr+="普通";
					}
					if(DbType=="S")
					{
						PrintContStr+="商品出售("+FPara.ShopCode+") ";
					}
					else{
						PrintContStr+="商品出租("+FPara.ShopCode+") ";
					}
					PrintContStr+="流水号:"+NewTempid+"号\r";
					PrintContStr+="商品编号     "+AddSpace+"数量    "+AddSpace+"单价      "+AddSpace+"金额\r";
					PrintContStr+=PrintCont;
					PrintContStr+="------------------\r";
					PrintContStr+="商品件数:"+totalnumstr.Text+"\t总额:"+TotalMoneyInfo+"元 时间:"+System.DateTime.Now+"\r";
					if(info.Text.ToString().Trim()!="")PrintContStr+="注意:"+info.Text.ToString()+"\r";
					if(DbType=="S")
					{
						PrintContStr+="**如有质量问题,凭此收据一周内调换**\r";
					}
					else
					{
						PrintContStr+="**归还时最好能出示该收据,方便查询**\r";
					}
					//
					
					FileStream fs=new FileStream("txt/HD"+String.Format("{0:yyyy-MM-dd}",System.DateTime.Today)+".txt",FileMode.OpenOrCreate,FileAccess.Write);
					StreamWriter wfile=new StreamWriter(fs);
					wfile.BaseStream.Seek(0,SeekOrigin.End);
					wfile.WriteLine(PrintContStr);
					wfile.Flush();
					wfile.Close();
					

					streamToPrint = new StringReader(PrintContStr);
					
					printFont = new Font("Arial", 11);
					printDocument1.Dispose();
					printDocument1 = new PrintDocument();
					printDocument1.PrintPage += new PrintPageEventHandler(this.printDocument1_PrintPage);
					if(printview.Checked)
					{
						//预览
						printPreviewDialog1=new PrintPreviewDialog();
						printPreviewDialog1.Document=printDocument1;
						printPreviewDialog1.FormBorderStyle=FormBorderStyle.Fixed3D;
						printPreviewDialog1.ShowDialog();
					}
					else
					{
						//打印
						printDocument1.Print();
					}
					printDocument1.Dispose();
					streamToPrint.Close();
					//
					MessageBox.Show("交易成功");
					mds.Clear();
					this.Dispose();
					this.Close();
				}
				else
				{
					MessageBox.Show("交易失败");	
				}
			}
			catch(Exception ex){
				MessageBox.Show(ex.ToString());
			}
		}

		private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs ev)
		{
			float linesPerPage = 0;
			float yPos = 0;
			int count = 0;

			int leftmargin=15;//左边距
			int topmargin=5;//上边距
			//int totalline=5;//总行数
			
			float leftMargin = leftmargin;
			float topMargin = topmargin;
			string line = null;

			//Calculate the number of lines per page.
			linesPerPage = ev.MarginBounds.Height/printFont.GetHeight(ev.Graphics);
			//if (linesPerPage>totalline) linesPerPage=totalline;
			

			// Print each line of the file.
			while((count<linesPerPage)&&((line=streamToPrint.ReadLine()) != null)) 
			{
				yPos = topMargin + (count * printFont.GetHeight(ev.Graphics));
				ev.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, yPos, new StringFormat());
				count++;
			}
			//If more lines exist, print another page.
			if(line != null)
			{
				ev.HasMorePages = true;
			}
			else
			{
				ev.HasMorePages = false;
			}
		}

		private void S_Click(object sender, System.EventArgs e)
		{
			H.Enabled = false;
			S.Enabled=true;
		}

		private void H_Click(object sender, System.EventArgs e)
		{
			S.Enabled=false;
			H.Enabled = true;
		}
	}
}

⌨️ 快捷键说明

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