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

📄 clinicpriceconfirm.cs

📁 医院门诊收费系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
			this.da2.SelectCommand = this.sqlSelectCommand2;
			this.da2.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
																						  new System.Data.Common.DataTableMapping("Table", "v收费项目及药品", new System.Data.Common.DataColumnMapping[] {
																																																	  new System.Data.Common.DataColumnMapping("编号", "编号"),
																																																	  new System.Data.Common.DataColumnMapping("名称", "名称"),
																																																	  new System.Data.Common.DataColumnMapping("规格", "规格"),
																																																	  new System.Data.Common.DataColumnMapping("单位", "单位"),
																																																	  new System.Data.Common.DataColumnMapping("单价", "单价"),
																																																	  new System.Data.Common.DataColumnMapping("拼音码", "拼音码")})});
			// 
			// sqlSelectCommand2
			// 
			this.sqlSelectCommand2.CommandText = "SELECT 编号, 名称, 规格, 单位, 单价, 拼音码 FROM v收费项目及药品";
			this.sqlSelectCommand2.Connection = this.sqlConnection1;
			// 
			// ClinicPriceConfirm
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
			this.ClientSize = new System.Drawing.Size(904, 592);
			this.Controls.Add(this.groupBox1);
			this.Name = "ClinicPriceConfirm";
			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
			this.Text = "ClinicPriceConfirm";
			this.Load += new System.EventHandler(this.ClinicPriceConfirm_Load);
			this.groupBox1.ResumeLayout(false);
			((System.ComponentModel.ISupportInitialize)(this.dataGrid3)).EndInit();
			((System.ComponentModel.ISupportInitialize)(this.dataView1)).EndInit();
			((System.ComponentModel.ISupportInitialize)(this.dataSet21)).EndInit();
			((System.ComponentModel.ISupportInitialize)(this.dataGrid2)).EndInit();
			((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
			this.ResumeLayout(false);

		}
		#endregion
      
		private void ClinicPriceConfirm_Load(object sender, System.EventArgs e)
		{
			da1.Fill(dataSet21);
			da2.Fill(dataSet21);
			this.DataGridStateControl();
			
			newTable.RowChanged+=new DataRowChangeEventHandler(newTable_RowChanged);//每当表格中数据变化时,计算金额	
		}
		
		private void DataGridStateControl()
		{
			newTable = new DataTable();
			newTable.Columns.Add("编号",typeof(string));
			newTable.Columns.Add("名称",typeof(string));
			newTable.Columns.Add("规格",typeof(string));
			newTable.Columns.Add("单位",typeof(string));
			newTable.Columns.Add("单价",typeof(decimal));
			newTable.Columns.Add("数量",typeof(int));
			newTable.Columns.Add("金额",typeof(decimal),"单价*数量");			
			
			this.dataGrid1.DataSource = newTable;
			DataGridTableStyle ts = new DataGridTableStyle();
			DataGridTextBoxColumn aColumnTextColumn;
			ts.AllowSorting = false;
			ts.AlternatingBackColor = Color.LightGray;
			ts.MappingName = newTable.TableName;
			int numCols = newTable.Columns.Count;
			for (int i = 0;i< numCols;i++)
			{
				aColumnTextColumn = new DataGridTextBoxColumn();
				if( i==5 )
				{
					aColumnTextColumn.ReadOnly=false;
				}
				else
				{
					aColumnTextColumn.ReadOnly=true;
				}

				if (i == 0)
				{
					aColumnTextColumn.TextBox.DoubleClick+=new EventHandler(TextBox_DoubleClick);
				}
				if(i==0)
				{
					aColumnTextColumn.Width=130;			
				}
				
				if ( i == 1 )
				{
					aColumnTextColumn.Width = 150;
				}
				aColumnTextColumn.MappingName = newTable.Columns[i].ColumnName;
				aColumnTextColumn.HeaderText = newTable.Columns[i].ColumnName;
				if(i==0)
				{
					aColumnTextColumn.HeaderText ="编号【双击输入拼音】";
				}

				aColumnTextColumn.NullText = "";
				aColumnTextColumn.Format = "N"; 
				ts.GridColumnStyles.Add(aColumnTextColumn);
			}
			dataGrid1.TableStyles.Add(ts);
		}
        
		private void cmb1_DropDown(object sender, System.EventArgs e)
		{
			this.clearInfo();
			dataGrid2.Left=cmb1.Left;
			dataGrid2.Top=cmb1.Bottom+2;
			dataGrid2.Visible=true;
			dataGrid2.Show();
			dataGrid2.Focus();
		}
     
		private void dataGrid2_DoubleClick(object sender, System.EventArgs e)
		{
			int rowIndex=dataGrid2.CurrentCell.RowNumber;
			cmb1.Text=dataGrid2[rowIndex,0].ToString().Trim();
			txt1.Text=dataGrid2[rowIndex,2].ToString().Trim();
			txt2.Text=dataGrid2[rowIndex,3].ToString().Trim();
			txt3.Text=dataGrid2[rowIndex,4].ToString().Trim();
			txt4.Text=dataGrid2[rowIndex,8].ToString().Trim();
			dataGrid2.Visible=false;
		}
		
		private void TextBox_DoubleClick(object sender, EventArgs e)
		{
			string pym;
			InputBox newfrm = new InputBox();
			newfrm.label1.Text = "请输入药品或收费项目的拼音码:";
			newfrm.Text="输入";
			newfrm.Top=this.Top+this.Height/2;
			newfrm.Left=this.Left+this.Width/2;
			newfrm.ShowDialog();
			pym = newfrm.result;
			newfrm.Dispose();
			
			dataView1.RowFilter="拼音码 like '%"+pym+"%'";
			dataGrid3.Left=dataGrid1.Left+10;
			dataGrid3.Top=(dataGrid1.CurrentCell.RowNumber+1)*17+20+dataGrid1.Top;
			if(dataView1.Count!=0)
			{
				dataGrid3.Visible=true;
				dataGrid3.Show();
				dataGrid3.Focus();
			}
		}
	
		private void dataGrid3_DoubleClick(object sender, System.EventArgs e)
		{
			int rowIndex=dataGrid3.CurrentCell.RowNumber;
			DataRow aRow=newTable.NewRow();
			aRow["编号"]=dataGrid3[rowIndex,0].ToString();
			aRow["名称"]=dataGrid3[rowIndex,1].ToString();
			aRow["规格"]=dataGrid3[rowIndex,2].ToString();
			aRow["单位"]=dataGrid3[rowIndex,3].ToString();
			aRow["单价"]=Convert.ToDecimal(dataGrid3[rowIndex,4]).ToString();
			
			newTable.Rows.Add(aRow);
			dataGrid3.Visible=false;
		}
	
		private void sumMoney()
		{			
			decimal total=0;
			foreach(DataRow aRow in newTable.Rows)
			{
				if(aRow["金额"].ToString().Trim()!="")
				{
					total+=Convert.ToDecimal(aRow["金额"]);
				}
			}
			txt5.Text=total.ToString();
		}
	
		private void newTable_RowChanged(object sender, DataRowChangeEventArgs e)
		{
			this.sumMoney();

		}
		
	
		private void clearInfo()
		{
			newTable.Clear();
			txt1.Clear();
			txt2.Clear();
			txt3.Clear();
			txt4.Clear();
			txt5.Clear();
			cmb1.Text="";			
		}
	
		private string CreateNewID(string sql)
		{
			string strConn="workstation id=localhost;Integrated Security=SSPI;database=hospitalms;";
			SqlConnection cn=new SqlConnection(strConn);
			cn.Open();
			SqlCommand cmb=cn.CreateCommand();
			cmb.CommandText=sql;
			string result;
			if(cmb.ExecuteScalar()!=System.DBNull.Value)
			{
				result=cmb.ExecuteScalar().ToString().Trim();
			}
			else
			{
				return(System.DateTime.Now.Year.ToString()+"0000001");
			}
			result=result.Substring(4,7);
			int newID=Convert.ToInt32(result)+1;
			int length=newID.ToString().Length;
			string returnStr=System.DateTime.Now.Year.ToString();
			switch(length)
			{
				case 1:
					returnStr+="000000"+newID.ToString();					
					break;
				case 2:
					returnStr+="00000"+newID.ToString();					
					break;
				case 3:
					returnStr+="0000"+newID.ToString();					
					break;
				case 4:
					returnStr+="000"+newID.ToString();					
					break;
				case 5:
					returnStr+="00"+newID.ToString();					
					break;
				case 6:
					returnStr+="0"+newID.ToString();					
					break;
				case 7:
					returnStr+=newID.ToString();					
					break;
			}
			return(returnStr);
		}
    
		private void btnOK_Click(object sender, System.EventArgs e)
		{
			
			if(cmb1.Text=="")
			{
				MessageBox.Show("请先选择门诊号","提示",MessageBoxButtons.OK,MessageBoxIcon.Stop);
				return;
			}
			if(newTable.Rows.Count==0)
			{
				MessageBox.Show("请填写药品和收费项目明细表","提示",MessageBoxButtons.OK,MessageBoxIcon.Stop);
				return;
			}
			foreach(DataRow aRow in newTable.Rows)
			{
				if(aRow["金额"].ToString().Trim()=="")
				{
					MessageBox.Show("请填写药品或收费项目数量","提示",MessageBoxButtons.OK,MessageBoxIcon.Stop);
					return;
				}
			}
			string strConn="workstation id=localhost;Integrated Security=SSPI;database=hospitalms;";
			SqlConnection cn=new SqlConnection(strConn);
			cn.Open();
			SqlCommand cmd=cn.CreateCommand();

			string newID=this.CreateNewID("select max(编号) 最大编号 from 门诊划价");
		
			string insertStr="insert into 门诊划价([编号], [科室], [挂号编号], [医生], [划价时间],"
				+"[是否收费], [划价金额], [是否发药]) values('"+newID+"','"+txt3.Text+"','"+cmb1.Text
				+"','"+txt4.Text+"','"+System.DateTime.Now.ToString()+"','否',CAST('"+txt5.Text+"' as money)"
				+",'否')";
			try
			{
				cmd.CommandText=insertStr;
				cmd.ExecuteNonQuery();
			}
			catch(Exception express)
			{
				MessageBox.Show(express.ToString(),"新增门诊挂号错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
				return;
			}
			foreach(DataRow aRow in newTable.Rows)
			{
				insertStr="insert into 门诊划价明细([划价编号], [药品编号], [单价], [数量], [金额]) "
					+"values('"+newID+"','"+aRow["编号"].ToString()+"','"+aRow["单价"].ToString()+"','"
					+aRow["数量"].ToString()+"','"+aRow["金额"].ToString()+"')";
				try
				{
					cmd.CommandText=insertStr;
					cmd.ExecuteNonQuery();
				}
				catch(Exception express)
				{
					MessageBox.Show(express.ToString(),"新增门诊明细错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
					return;
				}
			}
			cmd.CommandText="update 门诊挂号 set 是否已划价='是' where 编号='"+cmb1.Text+"'";
			cmd.ExecuteNonQuery();
			this.clearInfo();
			dataSet21.Clear();
			da1.Fill(dataSet21);
			da2.Fill(dataSet21);		
		}
       
		private void btnCancel_Click(object sender, System.EventArgs e)
		{
			this.clearInfo();
		}


		

       
      }
}

⌨️ 快捷键说明

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