private void btnRecall_KM_Click(object sender, EventArgs e)
        {
            int kq = BLLRangHamMat.Instance.CurrentTicket(FrmMainRHM.connectString, userId, equipCode, FrmMainRHM.today, FrmMainRHM.UseWithThirdPattern, (int)eServiceType.PhongKham);

            if (kq == 0)
            {
                txtResult.Text = "Hết vé";
            }
            else
            {
                lbCurrentTicket.Text = kq.ToString();
                //  FrmMainRHM.SendDisplay(kq.ToString());

                var requireJSON = JsonConvert.SerializeObject(new RequireMainDisplay()
                {
                    EquipCode = equipCode, TicketNumber = kq
                });
                BLLCounterSoftRequire.Instance.Insert(FrmMainRHM.connectString, requireJSON, (int)eCounterSoftRequireType.SendRecallToMainDisplay, counterId);

                var readTemplateIds = BLLUserCmdReadSound.Instance.GetReadTemplateIds(FrmMainRHM.connectString, userId, eCodeHex.Recall);
                if (readTemplateIds.Count > 0)
                {
                    FrmMainRHM.GetSound(readTemplateIds, kq.ToString(), counterId);
                }
            }
        }
        private void btNext_Click(object sender, EventArgs e)
        {
            try
            {
                var tk = BLLRangHamMat.Instance.Next(FrmMainRHM.connectString, userId, equipCode, FrmMainRHM.today, FrmMainRHM.UseWithThirdPattern, (int)eServiceType.CLS);
                if (tk == 0)
                {
                    txtResult.Text = "Hết vé";
                }
                else
                {
                    lbCurrentTicket.Text = tk.ToString();
                    // FrmMainRHM.SendDisplay(tk.ToString());

                    var requireJSON = JsonConvert.SerializeObject(new RequireMainDisplay()
                    {
                        EquipCode = equipCode, TicketNumber = tk
                    });
                    BLLCounterSoftRequire.Instance.Insert(FrmMainRHM.connectString, requireJSON, (int)eCounterSoftRequireType.SendNextToMainDisplay, counterId);
                    var readTemplateIds = BLLUserCmdReadSound.Instance.GetReadTemplateIds(FrmMainRHM.connectString, userId, eCodeHex.Next);
                    if (readTemplateIds.Count > 0)
                    {
                        FrmMainRHM.GetSound(readTemplateIds, tk.ToString(), counterId);
                    }
                }
            }
            catch (Exception)
            { }
        }
        private void btCallany_KM_Click(object sender, EventArgs e)
        {
            try
            {
                this.txtResult.Text = "";
                string text = this.txtParam.Text.ToString().Trim();
                if (!string.IsNullOrEmpty(text) && !Information.IsNumeric(text))
                {
                    //MessageBox.Show("Bạn phải nhập số vé bất kỳ muốn gọi.", "Thông báo gọi vé", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    this.txtResult.Text = "Bạn phải nhập số vé bất kỳ muốn gọi.";
                    this.txtParam.Focus();
                }
                else
                {
                    var dscho = lbGeneralWaiting.Text.Split(' ').ToList();
                    if (dscho.Contains(text))
                    {
                        var kq = BLLRangHamMat.Instance.CallAny(FrmMainRHM.connectString, userId, equipCode, int.Parse(text), FrmMainRHM.today, (int)eServiceType.PhongKham);
                        if (kq.IsSuccess)
                        {
                            this.txtParam.Text   = "";
                            this.txtResult.Text  = "Yêu cầu Gọi số " + text;
                            lbCurrentTicket.Text = text;
                            // FrmMainRHM.SendDisplay(text);

                            var readTemplateIds = BLLUserCmdReadSound.Instance.GetReadTemplateIds(FrmMainRHM.connectString, userId, eCodeHex.Next);
                            if (readTemplateIds.Count > 0)
                            {
                                FrmMainRHM.GetSound(readTemplateIds, text, counterId);
                            }
                        }
                        else
                        {
                            this.txtParam.Text  = "";
                            this.txtResult.Text = kq.sms;
                        }
                    }
                    else
                    {
                        this.txtResult.Text = "Số : " + text + " không có trong danh sách chờ của Quầy .Vui lòng nhập số nằm trong danh sách chờ của Quầy.";
                    }
                    // MessageBox.Show("Số : " + text + " không có trong danh sách chờ của Quầy .Vui lòng nhập số nằm trong danh sách chờ của Quầy.", "Thông báo gọi vé", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
            catch (Exception)
            {
            }
        }