HotelLeave.cs
上传用户:hjieqiu
上传日期:2013-05-11
资源大小:16494k
文件大小:16k
源码类别:

企业管理

开发平台:

C#

  1. using System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; namespace 酒店管理系统 { public class HotelLeave : 医院管理系统.ParentForm {
  2. private System.Windows.Forms.DataGrid dataGrid2;
  3. private System.Data.SqlClient.SqlConnection sqlConnection1;
  4. private 酒店管理系统.DataSet1 dataSet11;
  5. private System.Data.SqlClient.SqlDataAdapter da2;
  6. private System.Data.SqlClient.SqlCommand sqlSelectCommand2;
  7. private System.Windows.Forms.TextBox txt4;
  8. private System.Windows.Forms.ComboBox cmb1;
  9. private System.Data.DataView dataView1;
  10. private System.Data.SqlClient.SqlCommand sqlSelectCommand1;
  11. private System.Windows.Forms.Button btnCal;
  12. private System.Windows.Forms.Button btnLeave;
  13. private System.Windows.Forms.Label label4;
  14. private System.Windows.Forms.Label label5; private System.ComponentModel.IContainer components = null; public HotelLeave() { // 该调用是 Windows 窗体设计器所必需的。 InitializeComponent(); // TODO: 在 InitializeComponent 调用后添加任何初始化 } /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null)  { components.Dispose(); } } base.Dispose( disposing ); } #region 设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.dataGrid2 = new System.Windows.Forms.DataGrid();
  15. this.dataView1 = new System.Data.DataView();
  16. this.dataSet11 = new 酒店管理系统.DataSet1();
  17. this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
  18. this.da2 = new System.Data.SqlClient.SqlDataAdapter();
  19. this.sqlSelectCommand2 = new System.Data.SqlClient.SqlCommand();
  20. this.btnCal = new System.Windows.Forms.Button();
  21. this.btnLeave = new System.Windows.Forms.Button();
  22. this.txt4 = new System.Windows.Forms.TextBox();
  23. this.cmb1 = new System.Windows.Forms.ComboBox();
  24. this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();
  25. this.label4 = new System.Windows.Forms.Label();
  26. this.label5 = new System.Windows.Forms.Label();
  27. ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
  28. this.groupBox2.SuspendLayout();
  29. ((System.ComponentModel.ISupportInitialize)(this.dataGrid2)).BeginInit();
  30. ((System.ComponentModel.ISupportInitialize)(this.dataView1)).BeginInit();
  31. ((System.ComponentModel.ISupportInitialize)(this.dataSet11)).BeginInit();
  32. this.SuspendLayout();
  33. // 
  34. // groupBox1
  35. // 
  36. this.groupBox1.Name = "groupBox1";
  37. // 
  38. // txt2
  39. // 
  40. this.txt2.Name = "txt2";
  41. // 
  42. // label1
  43. // 
  44. this.label1.Name = "label1";
  45. this.label1.Text = "客房编号";
  46. // 
  47. // btnSearch
  48. // 
  49. this.btnSearch.Name = "btnSearch";
  50. this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
  51. // 
  52. // txt1
  53. // 
  54. this.txt1.Name = "txt1";
  55. // 
  56. // label2
  57. // 
  58. this.label2.Name = "label2";
  59. this.label2.Text = "入住单号";
  60. // 
  61. // txt3
  62. // 
  63. this.txt3.Name = "txt3";
  64. this.txt3.Visible = false;
  65. // 
  66. // label3
  67. // 
  68. this.label3.Name = "label3";
  69. this.label3.Visible = false;
  70. // 
  71. // toolBar1
  72. // 
  73. this.toolBar1.Name = "toolBar1";
  74. this.toolBar1.Size = new System.Drawing.Size(728, 41);
  75. // 
  76. // tBtnNew
  77. // 
  78. this.tBtnNew.Visible = false;
  79. // 
  80. // tBtnEdit
  81. // 
  82. this.tBtnEdit.Visible = false;
  83. // 
  84. // tBtnDelete
  85. // 
  86. this.tBtnDelete.Visible = false;
  87. // 
  88. // tBtnSubmit
  89. // 
  90. this.tBtnSubmit.Visible = false;
  91. // 
  92. // tBtnCancel
  93. // 
  94. this.tBtnCancel.Visible = false;
  95. // 
  96. // dataGrid1
  97. // 
  98. this.dataGrid1.DataMember = "入住单";
  99. this.dataGrid1.DataSource = this.dataSet11;
  100. this.dataGrid1.Name = "dataGrid1";
  101. this.dataGrid1.Size = new System.Drawing.Size(728, 160);
  102. this.dataGrid1.CurrentCellChanged += new System.EventHandler(this.dataGrid1_CurrentCellChanged);
  103. // 
  104. // groupBox2
  105. // 
  106. this.groupBox2.Controls.Add(this.label4);
  107. this.groupBox2.Controls.Add(this.cmb1);
  108. this.groupBox2.Controls.Add(this.txt4);
  109. this.groupBox2.Controls.Add(this.btnCal);
  110. this.groupBox2.Controls.Add(this.btnLeave);
  111. this.groupBox2.Controls.Add(this.label5);
  112. this.groupBox2.Location = new System.Drawing.Point(0, 408);
  113. this.groupBox2.Name = "groupBox2";
  114. this.groupBox2.Size = new System.Drawing.Size(728, 88);
  115. // 
  116. // da1
  117. // 
  118. this.da1.DeleteCommand = null;
  119. this.da1.InsertCommand = null;
  120. this.da1.SelectCommand = this.sqlSelectCommand1;
  121. this.da1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
  122.   new System.Data.Common.DataTableMapping("Table", "入住单", new System.Data.Common.DataColumnMapping[] {
  123.  new System.Data.Common.DataColumnMapping("入住单号", "入住单号"),
  124.  new System.Data.Common.DataColumnMapping("预定单号", "预定单号"),
  125.  new System.Data.Common.DataColumnMapping("会员编号", "会员编号"),
  126.  new System.Data.Common.DataColumnMapping("抵店时间", "抵店时间"),
  127.  new System.Data.Common.DataColumnMapping("离店时间", "离店时间"),
  128.  new System.Data.Common.DataColumnMapping("客房编号", "客房编号"),
  129.  new System.Data.Common.DataColumnMapping("客房价格", "客房价格"),
  130.  new System.Data.Common.DataColumnMapping("入住价格", "入住价格"),
  131.  new System.Data.Common.DataColumnMapping("是否加床", "是否加床"),
  132.  new System.Data.Common.DataColumnMapping("加床价格", "加床价格"),
  133.  new System.Data.Common.DataColumnMapping("预收款", "预收款"),
  134.  new System.Data.Common.DataColumnMapping("早餐", "早餐"),
  135.  new System.Data.Common.DataColumnMapping("叫醒", "叫醒"),
  136.  new System.Data.Common.DataColumnMapping("保密", "保密"),
  137.  new System.Data.Common.DataColumnMapping("vip", "vip"),
  138.  new System.Data.Common.DataColumnMapping("电话等级", "电话等级"),
  139.  new System.Data.Common.DataColumnMapping("特要说明", "特要说明"),
  140.  new System.Data.Common.DataColumnMapping("应收帐款", "应收帐款"),
  141.  new System.Data.Common.DataColumnMapping("是否结帐", "是否结帐"),
  142.  new System.Data.Common.DataColumnMapping("结帐金额", "结帐金额"),
  143.  new System.Data.Common.DataColumnMapping("结帐日期", "结帐日期"),
  144.  new System.Data.Common.DataColumnMapping("付款方式", "付款方式"),
  145.  new System.Data.Common.DataColumnMapping("入住人数", "入住人数")})});
  146. this.da1.UpdateCommand = null;
  147. // 
  148. // dataGrid2
  149. // 
  150. this.dataGrid2.CaptionVisible = false;
  151. this.dataGrid2.DataMember = "";
  152. this.dataGrid2.DataSource = this.dataView1;
  153. this.dataGrid2.HeaderForeColor = System.Drawing.SystemColors.ControlText;
  154. this.dataGrid2.Location = new System.Drawing.Point(0, 256);
  155. this.dataGrid2.Name = "dataGrid2";
  156. this.dataGrid2.ReadOnly = true;
  157. this.dataGrid2.Size = new System.Drawing.Size(728, 152);
  158. this.dataGrid2.TabIndex = 32;
  159. // 
  160. // dataView1
  161. // 
  162. this.dataView1.Table = this.dataSet11.帐单明细;
  163. // 
  164. // dataSet11
  165. // 
  166. this.dataSet11.DataSetName = "DataSet1";
  167. this.dataSet11.Locale = new System.Globalization.CultureInfo("zh-CN");
  168. // 
  169. // sqlConnection1
  170. // 
  171. this.sqlConnection1.ConnectionString = "workstation id=localhost;Integrated Security=SSPI;Database=hotelbook;";
  172. // 
  173. // da2
  174. // 
  175. this.da2.SelectCommand = this.sqlSelectCommand2;
  176. this.da2.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
  177.   new System.Data.Common.DataTableMapping("Table", "帐单明细", new System.Data.Common.DataColumnMapping[] {
  178.   new System.Data.Common.DataColumnMapping("帐单编号", "帐单编号"),
  179.   new System.Data.Common.DataColumnMapping("入住单号", "入住单号"),
  180.   new System.Data.Common.DataColumnMapping("消费内容", "消费内容"),
  181.   new System.Data.Common.DataColumnMapping("消费金额", "消费金额"),
  182.   new System.Data.Common.DataColumnMapping("消费时间", "消费时间"),
  183.   new System.Data.Common.DataColumnMapping("备注", "备注")})});
  184. // 
  185. // sqlSelectCommand2
  186. // 
  187. this.sqlSelectCommand2.CommandText = "SELECT 帐单编号, 入住单号, 消费内容, 消费金额, 消费时间, 备注 FROM 帐单明细";
  188. this.sqlSelectCommand2.Connection = this.sqlConnection1;
  189. // 
  190. // btnCal
  191. // 
  192. this.btnCal.Location = new System.Drawing.Point(56, 32);
  193. this.btnCal.Name = "btnCal";
  194. this.btnCal.Size = new System.Drawing.Size(112, 23);
  195. this.btnCal.TabIndex = 0;
  196. this.btnCal.Text = "计算应收款";
  197. this.btnCal.Click += new System.EventHandler(this.btnCal_Click);
  198. // 
  199. // btnLeave
  200. // 
  201. this.btnLeave.Location = new System.Drawing.Point(464, 32);
  202. this.btnLeave.Name = "btnLeave";
  203. this.btnLeave.Size = new System.Drawing.Size(128, 23);
  204. this.btnLeave.TabIndex = 0;
  205. this.btnLeave.Text = "收银结帐退房";
  206. this.btnLeave.Click += new System.EventHandler(this.btnLeave_Click);
  207. // 
  208. // txt4
  209. // 
  210. this.txt4.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "入住单.应收帐款"));
  211. this.txt4.Location = new System.Drawing.Point(192, 32);
  212. this.txt4.Name = "txt4";
  213. this.txt4.TabIndex = 1;
  214. this.txt4.Text = "";
  215. // 
  216. // cmb1
  217. // 
  218. this.cmb1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "入住单.付款方式"));
  219. this.cmb1.Items.AddRange(new object[] {
  220.   "现金",
  221.   "支票",
  222.   "信用卡",
  223.   "代金券",
  224.   "其他"});
  225. this.cmb1.Location = new System.Drawing.Point(312, 32);
  226. this.cmb1.Name = "cmb1";
  227. this.cmb1.Size = new System.Drawing.Size(121, 20);
  228. this.cmb1.TabIndex = 2;
  229. // 
  230. // sqlSelectCommand1
  231. // 
  232. this.sqlSelectCommand1.CommandText = "SELECT 入住单号, 预定单号, 会员编号, 抵店时间, 离店时间, 客房编号, 客房价格, 入住价格, 是否加床, 加床价格, 预收款, 早餐, 叫醒, 保" +
  233. "密, vip, 电话等级, 特要说明, 应收帐款, 是否结帐, 结帐金额, 结帐日期, 付款方式, 入住人数 FROM 入住单 WHERE (入住单号 LIKE" +
  234. " @Param17) AND (客房编号 LIKE @Param18)";
  235. this.sqlSelectCommand1.Connection = this.sqlConnection1;
  236. this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param17", System.Data.SqlDbType.VarChar, 36, "入住单号"));
  237. this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param18", System.Data.SqlDbType.VarChar, 12, "客房编号"));
  238. // 
  239. // label4
  240. // 
  241. this.label4.Location = new System.Drawing.Point(192, 17);
  242. this.label4.Name = "label4";
  243. this.label4.Size = new System.Drawing.Size(56, 15);
  244. this.label4.TabIndex = 3;
  245. this.label4.Text = "应付款";
  246. // 
  247. // label5
  248. // 
  249. this.label5.Location = new System.Drawing.Point(312, 16);
  250. this.label5.Name = "label5";
  251. this.label5.Size = new System.Drawing.Size(56, 15);
  252. this.label5.TabIndex = 3;
  253. this.label5.Text = "支付方式";
  254. // 
  255. // HotelLeave
  256. // 
  257. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  258. this.ClientSize = new System.Drawing.Size(728, 502);
  259. this.Controls.Add(this.dataGrid2);
  260. this.Name = "HotelLeave";
  261. this.Text = "收银结帐";
  262. this.Load += new System.EventHandler(this.HotelLeave_Load);
  263. this.Controls.SetChildIndex(this.dataGrid2, 0);
  264. this.Controls.SetChildIndex(this.groupBox1, 0);
  265. this.Controls.SetChildIndex(this.toolBar1, 0);
  266. this.Controls.SetChildIndex(this.dataGrid1, 0);
  267. this.Controls.SetChildIndex(this.groupBox2, 0);
  268. ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
  269. this.groupBox2.ResumeLayout(false);
  270. ((System.ComponentModel.ISupportInitialize)(this.dataGrid2)).EndInit();
  271. ((System.ComponentModel.ISupportInitialize)(this.dataView1)).EndInit();
  272. ((System.ComponentModel.ISupportInitialize)(this.dataSet11)).EndInit();
  273. this.ResumeLayout(false);
  274. } #endregion
  275. //----------生成窗体时读入数据-----------
  276. private void HotelLeave_Load(object sender, System.EventArgs e)
  277. {
  278. da1.SelectCommand.Parameters[0].Value="%";
  279. da1.SelectCommand.Parameters[1].Value="%";
  280. da1.Fill(this.dataSet11);
  281. da2.Fill(dataSet11);
  282. if(dataSet11.入住单.Rows.Count!=0)//读入第一个入住单的帐单明细
  283.                 dataView1.RowFilter="入住单号='"+dataSet11.入住单.Rows[0]["入住单号"].ToString()+"'";
  284. base.dataSet11=this.dataSet11;
  285. cmOrders=(CurrencyManager) BindingContext[this.dataSet11,"入住单"];
  286. }
  287. //---------显示帐单明细-------
  288. private void dataGrid1_CurrentCellChanged(object sender, System.EventArgs e)
  289. {
  290. //根据当前行的入住单号,检索入住单帐单明细
  291. int i=dataGrid1.CurrentRowIndex;
  292. dataView1.RowFilter="入住单号='"+dataGrid1[i,0].ToString()+"'";
  293. }
  294. //-----------根据输入,检索信息---------
  295. private void btnSearch_Click(object sender, System.EventArgs e)
  296. {
  297. da1.SelectCommand.Parameters[0].Value="%";
  298. da1.SelectCommand.Parameters[1].Value="%";
  299. if(txt1.Text.Trim()!="")
  300. {
  301. da1.SelectCommand.Parameters[0].Value="%"+txt1.Text.Trim()+"%";
  302. }
  303. if(txt2.Text.Trim()!="")
  304. {
  305. da1.SelectCommand.Parameters[1].Value="%"+txt2.Text.Trim()+"%";
  306. }
  307. dataSet11.Clear();//刷新数据集
  308. da1.Fill(dataSet11);
  309. da2.Fill(dataSet11);
  310. if(dataSet11.入住单.Rows.Count==0)//如果没有查到数据,则不显示帐单明细
  311. dataView1.RowFilter="入住单号=''";
  312. else//如果查到了数据,则显示明细
  313. dataView1.RowFilter="入住单号='"+dataSet11.入住单.Rows[0]["入住单号"].ToString()+"'";
  314. }
  315. //-------------计算应付房款---------------
  316. private void btnCal_Click(object sender, System.EventArgs e)
  317. {
  318. string strConn="workstation id=localhost;Integrated Security=SSPI;Database=hotelbook;";
  319. SqlConnection cn=new SqlConnection(strConn);
  320. cn.Open();
  321. SqlCommand cmd=cn.CreateCommand();
  322. int i=dataGrid1.CurrentRowIndex;
  323. cmd.CommandText="exec sf_计算应收帐款 '"+dataGrid1[i,0].ToString()+"'";
  324. cmd.ExecuteNonQuery();
  325. dataSet11.Clear();//刷新数据集
  326. da1.Fill(dataSet11);
  327. da2.Fill(dataSet11);
  328. cmOrders.Position = i;//移动到刚才所选的行上
  329. this.dataGrid1.Select(cmOrders.Position); //选中当前行
  330. this.dataGrid1.CurrentRowIndex = cmOrders.Position; //移动表头指示图标
  331. cmb1.Text="现金";//默认付款方式
  332. }
  333. //------------收银结帐退房---------------
  334. private void btnLeave_Click(object sender, System.EventArgs e)
  335. {
  336. if(cmb1.Text.Trim()=="")//检查支付方式的选取
  337. {
  338. MessageBox.Show("请选择支付方式");
  339. return;
  340. }
  341. string strConn="workstation id=localhost;Integrated Security=SSPI;Database=hotelbook;";
  342. SqlConnection cn=new SqlConnection(strConn);
  343. cn.Open();
  344. SqlCommand cmd=cn.CreateCommand();
  345. int i=dataGrid1.CurrentRowIndex;
  346. cmd.CommandText="exec sf_收银退房 '"+dataGrid1[i,0].ToString()+"','"+cmb1.Text.Trim()+"'";
  347. cmd.ExecuteNonQuery();
  348. dataSet11.Clear();//刷新数据集
  349. da1.Fill(dataSet11);
  350. da2.Fill(dataSet11);
  351. }
  352. } }