//并台 private void CompineTable(string SrcSerialNo, string srcTableno) { //检测桌台属性 //0=空闲,1=使用,2=预定中,-1=不存在该桌台 dgSaleFoods.DataSource = null; int srcts; srcts = rms_var.GetTableStatus(srcTableno); switch (srcts) { case 0: //原桌台空闲 MessageBox.Show("原桌台空闲,您不可以为该桌台进行并台操作。请首先进行开台操作。"); return; case 1: //原桌台使用中 //检测目标桌台状态 frmDestTableno frmdt = new frmDestTableno(); frmdt.ShowDialog(); if (frmdt.DialogResult == DialogResult.OK) { string dstTableno; int dstts; dstTableno = frmdt.TextBox1.Text; dstts = rms_var.GetTableStatus(dstTableno); switch (dstts) { case 0: //目标桌台空闲,不允许并台 MessageBox.Show("目标桌台为空闲状态,您不可以为该桌台进行并台操作。请选择状态为使用的目标桌台进行操作。"); return; case 1: //目标桌台使用中 允许并台 if (MessageBox.Show("原桌台的服务费和超时费将会丢失,确定要并台吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(); conn.ConnectionString = rms_var.ConnStr; try { string DstTableSerialno; DstTableSerialno = rms_var.GetCurrentTableSerialNo(dstTableno); //将两个桌台的 serialno 进行统一 SqlCommand SQLCMD = new SqlCommand(); SQLCMD.Connection = conn; SQLCMD.CommandTimeout = 30; conn.Open(); SQLCMD.CommandText = "update balancetable_t set " + "serialno='" + DstTableSerialno + "' " + "where serialno='" + SrcSerialNo + "'"; SQLCMD.ExecuteNonQuery(); SQLCMD.CommandText = "update salebill_t set " + "serialno='" + DstTableSerialno + "' " + "where serialno='" + SrcSerialNo + "'"; SQLCMD.ExecuteNonQuery(); SQLCMD.CommandText = "update salelist_t set " + "serialno='" + DstTableSerialno + "' " + "where serialno='" + SrcSerialNo + "'"; SQLCMD.ExecuteNonQuery(); MessageBox.Show("并台操作顺利完成"); GetTableList(CurrentTableTypeName); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { conn.Close(); } } break; case 2: //目标桌台预定中 不允许并台 MessageBox.Show("目标桌台为预定状态,您不可以为该桌台进行并台操作。请选择状态为使用的目标桌台进行操作。"); return; case -1: MessageBox.Show("目标桌台不存在"); break; } } break; case 2: //原桌台预定中 MessageBox.Show("原桌台预定中,您不可以为该桌台进行并台操作。请首先进行开台操作。"); return; } }
//转台 使用 - 使用 private void MoveTable1(string SrcSerialNo, string srcTableno) { //检测桌台属性 //0=空闲,1=使用,2=预定中,-1=不存在该桌台 dgSaleFoods.DataSource = null; int srcts; srcts = rms_var.GetTableStatus(srcTableno); switch (srcts) { case 0: //原桌台空闲 MessageBox.Show("原桌台空闲,您不可以为该桌台进行转台操作。请首先进行开台操作。"); return; case 1: //原桌台使用中 //检测目标桌台状态 frmDestTableno frmdt = new frmDestTableno(); frmdt.ShowDialog(); if (frmdt.DialogResult == DialogResult.OK) { string dstTableno; int dstts; dstTableno = frmdt.TextBox1.Text; string DstTableSerialno; DstTableSerialno = rms_var.GetCurrentTableSerialNo(dstTableno); dstts = rms_var.GetTableStatus(dstTableno); switch (dstts) { case 0: //目标桌台空闲,允许转台 MessageBox.Show("目标桌台为空闲状态,您不可以为该桌台进行转台操作。请选择状态为使用的目标桌台进行操作。"); return; case 1: //目标桌台使用中 允许转台 //转台操作 System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(); conn.ConnectionString = rms_var.ConnStr; try { SqlCommand SQLCMD = new SqlCommand(); SQLCMD.Connection = conn; SQLCMD.CommandTimeout = 30; SQLCMD.CommandText = "update salebill_t set " + "tableno='" + dstTableno + "'" + "," + "serialno='" + DstTableSerialno + "'" + " where serialno='" + SrcSerialNo + "' and tableno='" + srcTableno + "'"; conn.Open(); SQLCMD.ExecuteNonQuery(); SQLCMD.CommandText = "update salelist_t set " + "serialno='" + DstTableSerialno + "' " + "where serialno='" + SrcSerialNo + "'"; SQLCMD.ExecuteNonQuery(); SQLCMD.CommandText = "delete BalanceTable_t " + " where serialno='" + SrcSerialNo + "' and tableno='" + srcTableno + "'"; SQLCMD.ExecuteNonQuery(); SQLCMD.CommandText = "update tablestatus set " + "status='0'" + " where tableno='" + srcTableno + "'"; SQLCMD.ExecuteNonQuery(); SQLCMD.CommandText = "update tablestatus set " + "status='1'" + "," + "peoplenumber=" + (System.Convert.ToString((int.Parse(rms_var.GetTablePsnCount(srcTableno))) + int.Parse(rms_var.GetTablePsnCount(dstTableno)))) + "," + "begintime='" + rms_var.GetTableBeginTime(srcTableno) + "'" + " where tableno='" + dstTableno + "'"; SQLCMD.ExecuteNonQuery(); MessageBox.Show("转台操作顺利完成"); GetTableList(CurrentTableTypeName); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { conn.Close(); } break; case 2: //目标桌台预定中 不允许转台 MessageBox.Show("目标桌台为预定状态,您不可以为该桌台进行转台操作。请选择状态为空闲的目标桌台进行操作。"); return; case -1: MessageBox.Show("目标桌台不存在"); break; } } break; case 2: //原桌台预定中 MessageBox.Show("原桌台预定中,您不可以为该桌台进行转台操作。请首先进行开台操作。"); return; } }