WorkSpace

  1 2018.9.26
  2 --往GridControl中添加绑定数据
  3  // 房间费用
  4            DataTable dtRoomInfo = new DataTable();
  5            dtRoomInfo.Columns.Add("v_name", Type.GetType("System.String"));
  6            dtRoomInfo.Columns.Add("t_kt_time", Type.GetType("System.String"));
  7            dtRoomInfo.Columns.Add("v_ktsc", Type.GetType("System.String"));
  8            dtRoomInfo.Columns.Add("v_jfgz_name", Type.GetType("System.String"));
  9            dtRoomInfo.Columns.Add("f_room_money", Type.GetType("System.String"));
 10 
 11            DataRow rowRoomInfo = dtRoomInfo.NewRow();
 12            rowRoomInfo["v_name"] = ddModel.v_czzl_name;
 13            rowRoomInfo["t_kt_time"] = ddModel.t_kaitai_time.ToString("yyyy-MM-dd HH:mm");
 14            decimal hour = decimal.Parse((ddModel.i_jfsc * 1.0 / (60 * 60)).ToString());
 15            rowRoomInfo["v_ktsc"] = ((int)hour).ToString() + "小时" + ((hour - (int)hour) * 60).ToString("0") + "分钟";
 16            rowRoomInfo["v_jfgz_name"] = ddModel.v_jfgz_name;
 17            rowRoomInfo["f_room_money"] = ddModel.f_room_money.ToString();
 18            dtRoomInfo.Rows.Add(rowRoomInfo);
 19            this.gridControlRoomInfo.DataSource = dtRoomInfo;
 20 
 21            //预付款           
 22            DataTable dtYFMoney = new DataTable();
 23            dtYFMoney.Columns.Add("v_fkfs", Type.GetType("System.String"));
 24            dtYFMoney.Columns.Add("t_time", Type.GetType("System.String"));
 25            dtYFMoney.Columns.Add("f_yf_money", Type.GetType("System.String"));
 26            dtYFMoney.Columns.Add("v_operation_name", Type.GetType("System.String"));
 27            dtYFMoney.Columns.Add("v_mark", Type.GetType("System.String"));
 28            DataRow rowYFMoney = dtYFMoney.NewRow();
 29             //支付类型
 30                 switch (ddModel.i_yj_payment_type)
 31                 {
 32                     case 0:
 33                         rowYFMoney["v_fkfs"] = "现金";
 34                         break;
 35                     case 1:
 36                         rowYFMoney["v_fkfs"] = "银行卡";
 37                         break;
 38                     case 2:
 39                         rowYFMoney["v_fkfs"] = "微信";
 40                         break;
 41                     case 3:
 42                         rowYFMoney["v_fkfs"] = "支付宝";
 43                         break;
 44                     default:
 45                         break;
 46                 }
 47                 rowYFMoney["t_time"] = ddModel.t_kaitai_time.ToString("yyyy-MM-dd HH:mm");
 48                 rowYFMoney["f_yf_money"] = ddModel.f_yajin_money.ToString();
 49                 rowYFMoney["v_operation_name"] =ddModel.v_operator_name;
 50                 rowYFMoney["v_mark"] =ddModel.v_mark;
 51                 dtYFMoney.Rows.Add(rowYFMoney);
 52                 this.gridControlYFMoney.DataSource = dtYFMoney;
 53 ------------------------------------------------------------------------------------------------------------
 54 2018.10.15:周一
 55 
 56 -- 返回前5个数据 
 57 SELECT TOP 5 * 
 58 FROM Student;  
 59 
 60 -- 返回前50%的数据 
 61 SELECT TOP 50 PERCENT * 
 62 FROM Student;  
 63 
 64 -- 以"C""P"开头 
 65 SELECT *  
 66 FROM Student
 67  WHERE Subject LIKE '[CP]%';  
 68  
 69 -- 不以"C""P"开头 
 70 SELECT *  
 71 FROM Student 
 72 -- WHERE Subject LIKE '[^CP]%'; 
 73 -- WHERE Subject LIKE '[!CP]%'; //不行
 74 WHERE Subject NOT LIKE '[CP]%';  
 75 
 76 -- 以"A-D"开头 
 77 SELECT * 
 78 FROM Student 
 79 WHERE Subject LIKE '[A-D]%'; 
 80 
 81 --选择科目是java和c#的所有人 
 82  SELECT * 
 83  FROM Student 
 84  WHERE Subject IN ('Java','C#'); 
 85  -- WHERE Subject NOT IN ('Java','C#');  
 86  
 87  --选择范围之间 
 88  SELECT * 
 89  FROM Student 
 90  WHERE StuAge BETWEEN 22 AND 24; 
 91  -- WHERE StuAge NOT BETWEEN 22 AND 24;  
 92   
 93 SELECT * 
 94 FROM Student 
 95 WHERE (StuAge BETWEEN 22 AND 24) AND Subject NOT IN('Java');  
 96  
 97 SELECT *
 98 FROM Student 
 99 WHERE StuName BETWEEN '曹操' AND '关羽' 
100 ORDER BY StuName;  
101 
102 --若有日期的话 
103 --SELECT * FROM Student WHERE Date BETWEEN #07/04/1996# AND #07/09/1996#;
104 
105 -- 连接
106 --107 SELECT *
108 FROM Student INNER JOIN UserLogin
109 ON Student.StuName=UserLogin.UserName;
110 -- 左外
111 SELECT *
112 FROM Student LEFT JOIN UserLogin
113 ON Student.StuName=UserLogin.UserName;
114 -- 右外
115 SELECT *
116 FROM Student RIGHT JOIN UserLogin
117 ON Student.StuName=UserLogin.UserName;
118 -- 自然
119 SELECT *
120 FROM Student FULL JOIN UserLogin
121 ON Student.StuName=UserLogin.UserName;
122 
123 -- 自连接
124 SELECT S.StuName AS NAME1,U.UserName AS NAME2
125 FROM Student S,UserLogin U
126 WHERE S.ID =U.ID;
127 
128 --组合并去重复
129 SELECT StuName AS NAME
130 FROM Student
131 UNION
132 SELECT UserName
133 FROM UserLogin
134 ORDER BY StuName;
135 
136 --组合但未去重复
137 SELECT StuName AS NAME
138 FROM Student
139 UNION ALL
140 SELECT UserName
141 FROM UserLogin
142 ORDER BY StuName;
143 
144 --复制表中的数据到另一个新建表
145 SELECT * 
146 INTO Student1015
147 FROM Student;
148 
149 -- 复制到另一个数据库//貌似不可行
150 SELECT * 
151 INTO Student181015 IN 'Nwind.mdb'
152 FROM Student;
153 
154 --只复制一些列到新表
155 SELECT StuName,StuAge 
156 INTO Student1015_1
157 FROM Student;
158 
159 --复制多个表中信息插入新表
160 SELECT UserLogin.ID,Student.StuName,Student.StuAge 
161 INTO Student1015_2
162 FROM Student INNER JOIN  UserLogin
163 ON Student.StuName=UserLogin.UserName
164 ORDER BY UserLogin.ID;
165 
166 --建一个空表,查询返回时无返回值
167 SELECT *
168 INTO newtable
169 FROM Student
170 WHERE 1=0;
171 
172 --把指定列插入另一个表的指定列
173 INSERT INTO Student1015_2(ID,StuName,StuAge)
174 SELECT TOP 3 Student.ID,Student.Subject,Student.StuAge
175 FROM Student
176 WHERE Student.Subject='c#';
177 
178 --删除表
179 DROP TABLE Student1015_2;
180 --只删除表中数据
181 TRUNCATE TABLE Student1015_2;
182 
183 --添加列
184 ALTER TABLE Student1015_1 
185 ADD STU15 DATE;
186 --删除列
187 ALTER TABLE Student1015_1
188 DROP COLUMN STU15;
189 --更改列
190 ALTER TABLE Student1015_1
191 ALTER COLUMN STU15 DATETIME;
192 
193 --创建视图
194 GO
195 CREATE VIEW [MYSTUDENT] AS
196 SELECT ID,StuName
197 FROM Student1015
198 WHERE StuAge=24;
199 GO
200 
201 GO
202 CREATE VIEW [DYMYSTUDENT] AS
203 SELECT ID,StuName
204 FROM Student1015
205 WHERE StuAge>(SELECT AVG(StuAge) FROM Student1015);
206 GO
207 --查询视图
208 GO
209 SELECT *
210 FROM [MYSTUDENT]
211 GO
212 --更新视图//貌似不行
213 GO
214 CREATE OR REPLACE VIEW [MYSTUDENT] AS
215 SELECT ID,StuName
216 FROM Student1015
217 WHERE StuAge=23;
218 GO
219 --删除视图
220 DROP VIEW [MYSTUDENT];
221 
222 --查询时间
223 SELECT *
224 FROM Student1015_1
225 WHERE STU15='2018-10-15';
226 ----------------------------------------------------------------------------------------------------------------
227 2018.10.16:周二
228 --进阶
229 
230 --别名
231 SELECT StuName,StuNum+','+StuClass+','+StuGender+','+StuPhone AS 信息
232 FROM Student;
233 
234 --删除主键约束
235 ALTER TABLE Student DROP CONSTRAINT PK_Student;
236 
237 --创建表并添加唯一性约束
238 CREATE TABLE Persons(
239 P_Id int NOT NULL,
240 LastName varchar(255) NOT NULL,
241 FirstName varchar(255),
242 Address varchar(255),
243 City varchar(255),
244 CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
245 );
246 --如果表已被创建添加唯一性约束
247 ALTER TABLE Student
248 ADD UNIQUE (ID);
249 --如果需要命名约束
250 ALTER TABLE Student
251 ADD CONSTRAINT uc_Student UNIQUE (ID,StuName)
252 --删除这个约束
253 ALTER TABLE Student
254 DROP CONSTRAINT uc_Student;
255 
256 --主键约束
257 CREATE TABLE Person(
258 P_Id int NOT NULL,
259 LastName varchar(255) NOT NULL,
260 FirstName varchar(255),
261 Address varchar(255),
262 City varchar(255),
263 CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
264 );
265 --在上面的实例中,只有一个主键 PRIMARY KEY(pk_PersonID)。
266 --然而,pk_PersonID 的值是由两个列(P_Id 和 LastName)组成的。
267 --如果表已创建
268 ALTER TABLE Person
269 ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName);
270 --删除约束
271 ALTER TABLE Person
272 DROP CONSTRAINT pk_PersonID;
273 
274 --外键约束
275 CREATE TABLE Orders(
276 O_Id int NOT NULL PRIMARY KEY,
277 OrderNo int NOT NULL,
278 P_Id int FOREIGN KEY REFERENCES Person(P_Id)
279 );
280 
281 --如需命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束
282 CREATE TABLE Orders1(
283 O_Id int NOT NULL,
284 OrderNo int NOT NULL,
285 P_Id int,
286 PRIMARY KEY (O_Id),
287 CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
288 REFERENCES Person(P_Id)
289 );
290 
291 -- 当表已被创建时
292 ALTER TABLE Orders
293 ADD FOREIGN KEY (P_Id)
294 REFERENCES Persons(P_Id)
295 -- 如需命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束
296 ALTER TABLE Orders
297 ADD CONSTRAINT fk_PerOrders
298 FOREIGN KEY (P_Id)
299 REFERENCES Persons(P_Id)
300 
301 -- 删除约束
302 ALTER TABLE Orders
303 DROP CONSTRAINT fk_PerOrders
304 
305 -- 默认约束
306 
307 -- 下面的 SQL 在表创建时在 "City" 列上创建 DEFAULT 约束:
308 CREATE TABLE Persons1016_1(
309 P_Id int NOT NULL,
310 LastName varchar(255) NOT NULL,
311 FirstName varchar(255),
312 Address varchar(255),
313 City varchar(255) DEFAULT 'Sandnes'
314 )
315 -- 通过使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值:
316 CREATE TABLE Orders1016_2(
317 O_Id int NOT NULL,
318 OrderNo int NOT NULL,
319 P_Id int,
320 OrderDate date DEFAULT GETDATE()
321 )
322 
323 --当表已被创建时,如需在 "City" 列创建 DEFAULT 约束
324 ALTER TABLE Persons 
325 ADD CONSTRAINT DF_Persons_City DEFAULT('SANDNES') FOR City
326 --Persons 为表名
327 --City 为列名
328 --DF_Persons_City 为我们创建的默认约束的名称 约束名称一般为:约束类型简称_表名_列名
329 
330 --删除
331 ALTER TABLE Persons1016_1
332 ALTER COLUMN City DROP DEFAULT;
333 
334 --having
335 SELECT ID,StuName,StuClass,StuPhone,StuAge,SUM(ID+StuAge) AS HE
336 FROM Student
337 GROUP BY ID ,StuName,StuClass,StuPhone,StuAge
338 HAVING StuAge>22;
339
2018.10.23-24:周二 周三
// 复制设置
        private void tzxButtonExCopy_Click(object sender, EventArgs e)
        {
            if (this.currentSelectedCzzlModel==null)
            {
                MessageBoxFunction.showInfoMessageBox("请选择正确的餐桌进行复制!");
                return;
            }
            // 弹出选择桌台页面
            SelectTableListForm formSelectTableList = new SelectTableListForm();
            formSelectTableList.ShowDialog();
            //获取到所选择的桌子
            selectCzzlList=formSelectTableList.SelectedTableInfoList;
            //MessageBox.Show(selectCzzlList.Count.ToString());
            if (formSelectTableList.DialogResult != DialogResult.OK)
            {
                return;
            }
            if (selectCzzlList == null || selectCzzlList.Count == 0)
            {
                return;
            }
            //把设置复制到所选择的餐桌
            foreach (cy_jczl_czzl_lb item in selectCzzlList)
            {
                if (this.currentSelectedCzzlModel.pk == item.pk)
                {
                    continue;
                }
                //对某些餐桌上已有设置的菜品进行清空
                List<cy_jczl_czzl_ktsp> deleteKtspList=TableProfileManager.Instance.getKtspList(item.v_no);
                foreach (cy_jczl_czzl_ktsp deleteKtspModel in deleteKtspList)
                {
                    TableProfileManager.Instance.ktspDelete(deleteKtspModel.pk);
                }
                //餐桌资料的一些设置进行复制
                item.i_cwf_type= this.currentSelectedCzzlModel.i_cwf_type;
                if (item.i_cwf_type == 0)
                {
                    item.f_cwf_cz_money = this.currentSelectedCzzlModel.f_cwf_cz_money;
                }
                else if (item.i_cwf_type == 1)
                {
                    item.f_cwf_cz_money = this.currentSelectedCzzlModel.f_cwf_cz_money;
                    item.f_cwf_people_money = 0;
                }
                else if (item.i_cwf_type == 2)
                {
                    item.f_cwf_people_money = this.currentSelectedCzzlModel.f_cwf_people_money;
                    item.f_cwf_cz_money = 0;
                }
                else
                {
                    return;
                }
                item.i_ktcd = this.currentSelectedCzzlModel.i_ktcd; 
                item.i_ktsp = this.currentSelectedCzzlModel.i_ktsp;
                TableProfileManager.Instance.CzzlUpdate(item);
                //餐桌所选的开台菜品进行复制
                List<cy_jczl_czzl_ktsp> currentKtspList = TableProfileManager.Instance.getKtspList(this.currentSelectedCzzlModel.v_no);
                if (currentKtspList == null || currentKtspList.Count == 0)
                {
                    return;
                }
                foreach (cy_jczl_czzl_ktsp currentKtspModel in currentKtspList)
                {
                    cy_jczl_czzl_ktsp copyKtspModel = new cy_jczl_czzl_ktsp();
                    copyKtspModel.f_amount = currentKtspModel.f_amount;
                    copyKtspModel.f_price = currentKtspModel.f_price;
                    copyKtspModel.f_total_money = currentKtspModel.f_total_money;
                    copyKtspModel.i_dalei_pk = currentKtspModel.i_dalei_pk;
                    copyKtspModel.i_czzl_pk = item.pk;
                    copyKtspModel.i_delete = currentKtspModel.i_delete;
                    copyKtspModel.i_goods_pk = currentKtspModel.i_goods_pk;
                    copyKtspModel.i_status = currentKtspModel.i_status;
                    copyKtspModel.i_operator_pk = item.i_operator_pk;
                    copyKtspModel.i_xiaolei_pk = currentKtspModel.i_xiaolei_pk;
                    copyKtspModel.t_create_time = item.t_create_time;
                    copyKtspModel.v_czzl_no = item.v_no;
                    copyKtspModel.v_dalei_name = currentKtspModel.v_dalei_name;
                    copyKtspModel.v_danwei_name = currentKtspModel.v_danwei_name;
                    copyKtspModel.v_goods_name = currentKtspModel.v_goods_name;
                    copyKtspModel.v_goods_no = currentKtspModel.v_goods_no;
                    copyKtspModel.v_mark = currentKtspModel.v_mark;
                    copyKtspModel.v_specs = currentKtspModel.v_specs;
                    copyKtspModel.v_xiaolei_name = currentKtspModel.v_xiaolei_name;

                    TableProfileManager.Instance.ktspAdd(copyKtspModel);
                }   
            }
            MessageBoxFunction.showInfoMessageBox("批量添加成功!");
            base.Close();
            return;
            
        }

 

  1 2018.10.27 29-30:周二
  2 1.设置
  3  public partial class CustomShortcutKeyForm : Form
  4     {
  5         // 键入的值
  6         private string strKey = null;
  7         public CustomShortcutKeyForm()
  8         {
  9             InitializeComponent();
 10         }
 11         private void CustomShortcutKeyForm_Load(object sender, EventArgs e)
 12         {
 13             //加载列表
 14             this.loadCustomShortcutKey();
 15         }
 16 
 17         // 加载列表
 18         private void loadCustomShortcutKey()
 19         {
 20             this.dataGridViewShortcutKey.Rows.Clear();
 21 
 22             List<cy_kjjsz> kjjszList = ShortCutKeyManager.Instance.getAllKjjszModelList();
 23             if (kjjszList == null || kjjszList.Count == 0)
 24             {
 25                 return;
 26             }
 27 
 28             int rowIndex = 0;
 29             foreach (cy_kjjsz model in kjjszList)
 30             {
 31                 rowIndex = this.dataGridViewShortcutKey.Rows.Add();
 32 
 33                 this.dataGridViewShortcutKey.Rows[rowIndex].Cells["index"].Value = string.Format("{0}", rowIndex + 1);
 34                 this.dataGridViewShortcutKey.Rows[rowIndex].Cells["functionName"].Value = string.Format("{0:D2}", model.v_name);
 35                 this.dataGridViewShortcutKey.Rows[rowIndex].Cells["keys"].Value = model.v_kjj;
 36                 this.dataGridViewShortcutKey.Rows[rowIndex].Cells["gnmk"].Value = model.v_gnmk_no;
 37             }
 38 
 39             //if (this.currentSelectedIndex < this.dataGridViewShortcutKey.Rows.Count)
 40             //{
 41             //    this.dataGridViewShortcutKey.CurrentCell = this.dataGridViewShortcutKey.Rows[this.currentSelectedIndex].Cells[0];
 42             //}
 43         }
 44          
 45         // 保存
 46         private void tzxRoundedButtonOK_Click(object sender, EventArgs e)
 47         {
 48             int updataNumber=0;
 49             ArrayList keysArrayList =new ArrayList(); 
 50             foreach (DataGridViewRow dr in this.dataGridViewShortcutKey.Rows)
 51             {                
 52                 //修改的快捷键更新数据库
 53                 cy_kjjsz keysModel = ShortCutKeyManager.Instance.getkjjszModelByGnmkNo(dr.Cells["gnmk"].Value.ToString());
 54                 if(keysModel==null)
 55                 {
 56                     return;
 57                 }
 58                 if (keysModel.v_kjj != dr.Cells["keys"].Value.ToString())
 59                 {
 60                     keysModel.v_kjj = dr.Cells["keys"].Value.ToString();
 61                     bool flag = ShortCutKeyManager.Instance.kjjszUpdate(keysModel);
 62                     if(flag==true)
 63                     {
 64                         updataNumber++;
 65                     }
 66                 }    
 67             }
 68             //Program.m_mainFormChineseFoodOnPC.loadToolStripShortCutKeys();
 69             if (updataNumber > 0)
 70             {
 71                 MessageBoxFunction.showInfoMessageBox("快捷键已修改,重启后方可生效!");
 72             }
 73 
 74         }
 75 
 76         // 重置初始值
 77         private void tzxRoundedRecover_Click(object sender, EventArgs e)
 78         {
 79             // 重置数据
 80             this.kjjStartData();
 81         }
 82         // 初始化数据
 83         private void kjjStartData()
 84         {
 85             //删除原来的设置
 86             List<cy_kjjsz> kjjszModelList=ShortCutKeyManager.Instance.getAllKjjszModelList();
 87             //如果不为空,则删除原来的设置
 88             if (kjjszModelList != null)
 89             {
 90                 foreach (cy_kjjsz kjjszModel in kjjszModelList)
 91                 {
 92                     ShortCutKeyManager.Instance.kjjszDelete(kjjszModel.pk);
 93                 }
 94             }
 95             // 如果为空,则将字典中的数据加入
 96             Dictionary<string, string> dicAllToolStripShortCutKeys = ShortCutKeysToolStripManager.getAllToolStripShortCutKeysDictionary();
 97             if (dicAllToolStripShortCutKeys == null || dicAllToolStripShortCutKeys.Count == 0)
 98             {
 99                 return;
100             }
101             cy_kjjsz kjjszMode = null;
102             foreach (string strDicShortCutKeys in dicAllToolStripShortCutKeys.Keys)
103             {
104                 kjjszMode = new cy_kjjsz();
105                 kjjszMode.v_gnmk_no = strDicShortCutKeys;
106                 kjjszMode.i_operator_pk=LoginManager.Instance.getLoginerEmployeePK();
107                 kjjszMode.v_operator_name = LoginManager.Instance.getLoginerEmployeeName();
108                 kjjszMode.v_mac_address=GetSystemInfo.GetMacAddress();
109                 kjjszMode.v_kjj = ShortCutKeysToolStripManager.getToolStripShortCutKeysByToolStripButtonName(strDicShortCutKeys);
110                 switch(strDicShortCutKeys)
111                 {
112                     case "2-1217,toolStripButtonStartTable":
113                         kjjszMode.v_name="开台";
114                         break;
115                     case "2-1218,toolStripButtonChangeTable":
116                         kjjszMode.v_name="转台";
117                         break;
118                     case "2-1216,toolStripButtonCancelTable":
119                         kjjszMode.v_name="消台";
120                         break;
121                     case "2-1215,ToolStripMenuItemSetUpTable":
122                         kjjszMode.v_name="搭台";
123                         break;
124                     case "2-1214,ToolStripMenuItemCutTable":
125                         kjjszMode.v_name="拆台";
126                         break;
127                     case "2-1213,ToolStripMenuItemCombineTable":
128                         kjjszMode.v_name="并台";
129                         break;
130                     case "2-1212,ToolStripMenuItemAddTable":
131                         kjjszMode.v_name="加台";
132                         break;
133                     case "2-1211,ToolStripMenuItemModifyTableInfo":
134                         kjjszMode.v_name="修改餐桌信息";
135                         break;
136                     case "2-1210,toolStripButtonOrderDishes":
137                         kjjszMode.v_name="点菜";
138                         break;
139                     case "2-1209,toolStripButtonChangeDishes":
140                         kjjszMode.v_name="换菜";
141                         break;
142                     case "2-1208,ToolStripMenuItemPushFood":
143                         kjjszMode.v_name="催菜";
144                         break;
145                     case "2-1201,ToolStripMenuItemReturnDishes":
146                         kjjszMode.v_name="退菜";
147                         break;
148                     case "2-1207,ToolStripMenuItemSuspend":
149                         kjjszMode.v_name="挂起";
150                         break;
151                     case "2-1206,ToolStripMenuItemRouse":
152                         kjjszMode.v_name="叫起";
153                         break;
154                     case "2-1601,toolStripButtonMemberSendCard":
155                         kjjszMode.v_name="发卡";
156                         break;
157                     case "2-1602,toolStripButtonMemberCharge":
158                         kjjszMode.v_name="充值";
159                         break;
160                     case "2-1701,toolStripButtonPrintTotalBills":
161                         kjjszMode.v_name="打印总单";
162                         break;
163                     case "2-1702,toolStripButtonPreprintBills":
164                         kjjszMode.v_name="预打账单";
165                         break;
166                     case "2-1703,toolStripButtonPrintKitchenOrder":
167                         kjjszMode.v_name="补打厨打单";
168                         break;
169                     case "2-1400,toolStripButtonCheckOut":
170                         kjjszMode.v_name="结账";
171                         break;
172                     case "2-1407,toolStripButtonAntiSettlement":
173                         kjjszMode.v_name="反结账";
174                         break;
175                     case "2-1300,toolStripButtonShiftExchange":
176                         kjjszMode.v_name="交班";
177                         break;
178                     case "2-1101,toolStripButtonLogoutSystem":
179                         kjjszMode.v_name="注销";
180                         break;
181                     case "2-1102,toolStripButtonCloseSystem":
182                         kjjszMode.v_name="退出系统";
183                         break;
184                     default:
185                         break; 
186                 }
187                 ShortCutKeyManager.Instance.kjjszAdd(kjjszMode);
188             }
189             MessageBoxFunction.showInfoMessageBox("快捷键已重置,重启后方可生效!");         
190         }
191 
192         //单元格编辑停止时判断输入的值
193         private void dataGridViewShortcutKey_CellEndEdit(object sender, DataGridViewCellEventArgs e)
194         {
195             if (strKey==null)
196             {
197                 strKey = "";
198             }
199             this.dataGridViewShortcutKey.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = strKey;
200             ////是否输入汉字
201             //if (this.dataGridViewShortcutKey.CurrentCell.ColumnIndex == 2)
202             //{
203             //    string str = this.dataGridViewShortcutKey.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
204             //    if (Regex.IsMatch(str, @"[\u4E00-\u9FA5]+$"))
205             //    {
206             //        Modules.MessageBoxFunction.showInfoMessageBox("不能输入汉字");
207             //        this.dataGridViewShortcutKey.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "";
208             //        strKey = null;
209             //        return;
210             //    }       
211             //}
212 
213             //输入是否重复
214             ArrayList keysArrayList =new ArrayList(); 
215             foreach (DataGridViewRow dr in this.dataGridViewShortcutKey.Rows)
216             {                
217                 //所输入的快捷键是否重复 
218                 for (int i = 0; i < keysArrayList.Count; i++)
219                 {
220                     if (dr.Cells["keys"].Value.ToString() == keysArrayList[i].ToString() && dr.Cells["keys"].Value.ToString() != "")
221                     {
222                         MessageBoxFunction.showInfoMessageBox("快捷键不能设置重复!请修改。");
223                         this.dataGridViewShortcutKey.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "";
224                         strKey = null;
225                         return;
226                     }          
227                 }
228                 keysArrayList.Add(dr.Cells["keys"].Value.ToString());
229                 strKey = null;
230             }
231         }
232 
233         //键盘键入事件
234         private void CustomShortcutKeyForm_KeyDown(object sender, KeyEventArgs e)
235         {
236             string s = e.KeyValue.ToString();
237             if (e.KeyValue >= 65 && e.KeyValue <= 90 || e.KeyValue >= 112 && e.KeyValue <= 135)
238             {
239                 strKey = Enum.GetName(typeof(Keys), e.KeyValue);
240             }
241             else
242             {
243                 switch (e.KeyCode)
244                 {
245                     case Keys.Decimal:
246                         strKey = ".";
247                         break;
248                     case Keys.Subtract:
249                         strKey = "-";
250                         break;
251                     case Keys.Add:
252                         strKey = "+";
253                         break;
254                     case Keys.OemBackslash:  //斜杠
255                         strKey = "/";
256                         break;
257                     case Keys.Multiply:  //乘号
258                         strKey = "*";
259                         break;
260                     case Keys.Divide:  //除号
261                         strKey = "/";
262                         break;
263                     case Keys.OemOpenBrackets://左括号
264                         strKey = "[";
265                         break;
266                     case Keys.Oem6: //右括号
267                         strKey = "]";
268                         break;
269                     case Keys.Oem1: //分号
270                         strKey = ";";
271                         break;
272                     case Keys.Oem7: //引号
273                         strKey = "'";
274                         break;
275                     case Keys.Oemcomma: //逗号
276                         strKey = ",";
277                         break;
278                     case Keys.OemPeriod: //句号
279                         strKey = ".";
280                         break;
281                     case Keys.Oem5: //反斜杠
282                         strKey = "\\";
283                         break;
284                     case Keys.Oemtilde: //波浪号
285                         strKey = "`";
286                         break;
287                     default:
288                         break;
289                 }
290             }
291         }
292 
293         //编辑快捷键时切换为英文输入法
294         private void dataGridViewShortcutKey_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
295         {
296             TextBox dg_innerTextBox;
297             if (e.Control is TextBox && this.dataGridViewShortcutKey.CurrentCell.ColumnIndex == 2)
298             {
299                 dg_innerTextBox = e.Control as TextBox;
300                 dg_innerTextBox.ImeMode = ImeMode.Close;
301             }
302         }
303 
304     }
305 }
306 2.主界面
307        /// <summary>
308         /// 处理所有工具栏按钮的快捷键响应事件
309         /// </summary>
310         /// <param name="e"></param>
311         private void DealAllToolStripButtonKeysEvent(KeyEventArgs e)
312         {
313             string strKey = null;
314             if (e.KeyValue>=65&&e.KeyValue<=90||e.KeyValue>=112&&e.KeyValue<=135)
315             {
316                 strKey=Enum.GetName(typeof(Keys), e.KeyValue);
317             }
318             else
319             {
320                 switch (e.KeyCode)
321                 {
322                     case Keys.Decimal:
323                         strKey = ".";
324                         break;
325                     case Keys.Subtract:
326                         strKey = "-";
327                         break;
328                     case Keys.Add:
329                         strKey = "+";
330                         break;
331                     case Keys.OemBackslash:  //斜杠
332                         strKey = "/";
333                         break;
334                     case Keys.Multiply:  //乘号
335                         strKey = "*";
336                         break;
337                     case Keys.Divide:  //除号
338                         strKey = "/";
339                         break;
340                     case Keys.OemOpenBrackets://左括号
341                         strKey = "[";
342                         break;
343                     case Keys.Oem6: //右括号
344                         strKey = "]";
345                         break;
346                     case Keys.Oem1: //分号
347                         strKey = ";";
348                         break;
349                     case Keys.Oem7: //引号
350                         strKey = "'";
351                         break;
352                     case Keys.Oemcomma: //逗号
353                         strKey = ",";
354                         break;
355                     case Keys.OemPeriod: //句号
356                         strKey = ".";
357                         break;
358                     case Keys.Oem5: //反斜杠
359                         strKey = "\\";
360                         break;
361                     case Keys.Oemtilde: //波浪号
362                         strKey = "`";
363                         break;
364                     default:
365                         break;
366                 }
367             }
368             this.responseShortcutKey(strKey);
369         }
370 
371         /// <summary>
372         /// 响应自定义快捷键的方法
373         /// </summary>
374         private void responseShortcutKey(string strShortcutKey)
375         {
376             // 先判断按下的快捷键是不是设置好的快捷键
377             if (!dictionaryKey.ContainsValue(strShortcutKey))
378             {
379                 return;
380             }
381             object control;
382             ToolStripButton button; // 按钮
383             ToolStripDropDownButton toolStripDropDown; // 二级菜单按钮
384             ToolStripMenuItem toolStripItemCollection; // 二级菜单下的按钮
385 
386             for (int i = 0; i < toolStripShortcutButton.Items.Count; i++)
387             {
388                 control = toolStripShortcutButton.Items[i];
389                 string strKey = null;
390                 if (control is ToolStripButton)
391                 {
392                     button = (ToolStripButton)control;
393                     // 判断是不是对应的按钮
394                     strKey = string.Format("{0},{1}", (string)button.AccessibleName, (string)button.Name);
395                     string getKeyStr = dictionaryKey[strKey];
396                     if (getKeyStr == null)
397                     {
398                         return;
399                     }
400                     else if (strShortcutKey == getKeyStr)
401                     {
402                         button.PerformClick();
403                         return;
404                     }
405 
406                 }
407                 // 如果是二级菜单,则去找二级菜单下的按钮
408                 else if (control is ToolStripDropDownButton)
409                 {
410                     toolStripDropDown = (ToolStripDropDownButton)control;
411                     for (int j = 0; j < toolStripDropDown.DropDownItems.Count; j++)
412                     {
413                         if (!(toolStripDropDown.DropDownItems[j] is ToolStripMenuItem))
414                         {
415                             continue;
416                         }
417                         toolStripItemCollection = (ToolStripMenuItem)toolStripDropDown.DropDownItems[j];
418 
419                         if (toolStripItemCollection == null)
420                         {
421                             continue;
422                         }
423                         // 判断是不是对应的按钮
424                         strKey = string.Format("{0},{1}", (string)toolStripItemCollection.AccessibleName, (string)toolStripItemCollection.Name);
425                         string getKeyStr = dictionaryKey[strKey]; ;
426                         if (getKeyStr == null)
427                         {
428                             return;
429                         }
430                         if (strShortcutKey == getKeyStr)
431                         {
432                             toolStripItemCollection.PerformClick();
433                             return;
434                         }
435                     }
436                 }
437             }
438         }
439         /// <summary>
440         /// 加载主界面快捷键显示
441         /// </summary>
442         public void loadToolStripShortCutKeys()
443         {
444             List<cy_kjjsz> kjjszModelList = ShortCutKeyManager.Instance.getAllKjjszModelList();
445             if (kjjszModelList == null || kjjszModelList.Count == 0)
446             {
447                 dictionaryKey = ShortCutKeysToolStripManager.getAllToolStripShortCutKeysDictionary();
448                 //加载快捷键字典
449                 this.loadShortCutKeysDic();
450                 //写入数据库    
451                 cy_kjjsz kjjszMode = null;
452                 foreach (string strDicShortCutKeys in dictionaryKey.Keys)
453                 {
454                     kjjszMode = new cy_kjjsz();
455                     kjjszMode.v_gnmk_no = strDicShortCutKeys;
456                     kjjszMode.i_operator_pk = LoginManager.Instance.getLoginerEmployeePK();
457                     kjjszMode.v_operator_name = LoginManager.Instance.getLoginerEmployeeName();
458                     kjjszMode.v_mac_address = GetSystemInfo.GetMacAddress();
459                     kjjszMode.v_kjj = ShortCutKeysToolStripManager.getToolStripShortCutKeysByToolStripButtonName(strDicShortCutKeys);
460                     switch (strDicShortCutKeys)
461                     {
462                         case "2-1217,toolStripButtonStartTable":
463                             kjjszMode.v_name = "开台";
464                             break;
465                         case "2-1218,toolStripButtonChangeTable":
466                             kjjszMode.v_name = "转台";
467                             break;
468                         case "2-1216,toolStripButtonCancelTable":
469                             kjjszMode.v_name = "消台";
470                             break;
471                         case "2-1215,ToolStripMenuItemSetUpTable":
472                             kjjszMode.v_name = "搭台";
473                             break;
474                         case "2-1214,ToolStripMenuItemCutTable":
475                             kjjszMode.v_name = "拆台";
476                             break;
477                         case "2-1213,ToolStripMenuItemCombineTable":
478                             kjjszMode.v_name = "并台";
479                             break;
480                         case "2-1212,ToolStripMenuItemAddTable":
481                             kjjszMode.v_name = "加台";
482                             break;
483                         case "2-1211,ToolStripMenuItemModifyTableInfo":
484                             kjjszMode.v_name = "修改餐桌信息";
485                             break;
486                         case "2-1210,toolStripButtonOrderDishes":
487                             kjjszMode.v_name = "点菜";
488                             break;
489                         case "2-1209,toolStripButtonChangeDishes":
490                             kjjszMode.v_name = "换菜";
491                             break;
492                         case "2-1208,ToolStripMenuItemPushFood":
493                             kjjszMode.v_name = "催菜";
494                             break;
495                         case "2-1201,ToolStripMenuItemReturnDishes":
496                             kjjszMode.v_name = "退菜";
497                             break;
498                         case "2-1207,ToolStripMenuItemSuspend":
499                             kjjszMode.v_name = "挂起";
500                             break;
501                         case "2-1206,ToolStripMenuItemRouse":
502                             kjjszMode.v_name = "叫起";
503                             break;
504                         case "2-1601,toolStripButtonMemberSendCard":
505                             kjjszMode.v_name = "发卡";
506                             break;
507                         case "2-1602,toolStripButtonMemberCharge":
508                             kjjszMode.v_name = "充值";
509                             break;
510                         case "2-1701,toolStripButtonPrintTotalBills":
511                             kjjszMode.v_name = "打印总单";
512                             break;
513                         case "2-1702,toolStripButtonPreprintBills":
514                             kjjszMode.v_name = "预打账单";
515                             break;
516                         case "2-1703,toolStripButtonPrintKitchenOrder":
517                             kjjszMode.v_name = "补打厨打单";
518                             break;
519                         case "2-1400,toolStripButtonCheckOut":
520                             kjjszMode.v_name = "结账";
521                             break;
522                         case "2-1407,toolStripButtonAntiSettlement":
523                             kjjszMode.v_name = "反结账";
524                             break;
525                         case "2-1300,toolStripButtonShiftExchange":
526                             kjjszMode.v_name = "交班";
527                             break;
528                         case "2-1101,toolStripButtonLogoutSystem":
529                             kjjszMode.v_name = "注销";
530                             break;
531                         case "2-1102,toolStripButtonCloseSystem":
532                             kjjszMode.v_name = "退出系统";
533                             break;
534                         default:
535                             break;
536                     }
537                     ShortCutKeyManager.Instance.kjjszAdd(kjjszMode);
538                 }
539             }
540             else
541             {
542                 foreach (cy_kjjsz item in kjjszModelList)
543                 {
544                     dictionaryKey.Add(item.v_gnmk_no, item.v_kjj);
545                 }
546                 //加载快捷键字典
547                 this.loadShortCutKeysDic();
548             }
549         }
550 
551         //加载快捷键字典
552         private void loadShortCutKeysDic()
553         {
554             if (dictionaryKey == null || dictionaryKey.Count == 0)
555             {
556                 return;
557             }
558             object control;
559             ToolStripButton button; // 按钮
560             ToolStripDropDownButton toolStripDropDown; // 二级菜单按钮
561             ToolStripMenuItem toolStripItemCollection; // 二级菜单下的按钮
562             string[] key = new string[2];
563             foreach (var item in dictionaryKey.Keys)
564             {
565                 key = item.Split(',');
566                 if (key == null || key.Length < 1)
567                 {
568                     return;
569                 }
570                 for (int i = 0; i < toolStripShortcutButton.Items.Count; i++)
571                 {
572                     control = toolStripShortcutButton.Items[i];
573                     //菜单按钮
574                     if (control is ToolStripButton)
575                     {
576                         button = (ToolStripButton)control;
577                         // 判断是不是对应的按钮
578                         if ((string)button.Name == key[1])
579                         {
580                             if (dictionaryKey[item] == null || dictionaryKey[item] == "")
581                             {
582                                 continue;
583                             }
584                             button.Text += "(" + dictionaryKey[item] + ")";
585                         }
586                     }
587                     // 如果是二级菜单,则去找二级菜单下的按钮
588                     else if (control is ToolStripDropDownButton)
589                     {
590                         toolStripDropDown = (ToolStripDropDownButton)control;
591                         for (int j = 0; j < toolStripDropDown.DropDownItems.Count; j++)
592                         {
593                             if (!(toolStripDropDown.DropDownItems[j] is ToolStripMenuItem))
594                             {
595                                 continue;
596                             }
597                             toolStripItemCollection = (ToolStripMenuItem)toolStripDropDown.DropDownItems[j];
598 
599                             if (toolStripItemCollection == null)
600                             {
601                                 continue;
602                             }
603                             // 判断是不是对应的按钮
604                             if ((string)toolStripItemCollection.Name == key[1])
605                             {
606                                 if (dictionaryKey[item] == null || dictionaryKey[item] == "")
607                                 {
608                                     continue;
609                                 }
610                                 toolStripItemCollection.Text += "(" + dictionaryKey[item] + ")";
611                             }
612                         }
613                     }
614 
615                 }
616             }
617             
618         }

 

posted @ 2018-10-25 12:16  一纸年华  阅读(1149)  评论(0编辑  收藏  举报