Ejemplo n.º 1
0
 static private void setcontrol(object sender, EventArgs e)
 {
     retstring            = retstring.Replace('+', ' ');
     retstring            = retstring.Replace('-', ' ');
     context.tbQuene.Text = retstring;
     retstring            = "";
     if (context.b_qtCmd)//若是QT命令
     {
         string temp = context.GetTerminalByQT(context.tbQuene.Text);
         context.WriteTerminal(temp);
         context.CurrentTerminal = temp;
         context.ReadTerminal();
     }
     else//否则清Q指令
     {
         string temp = context.tbQuene.Text;
         if (temp.IndexOf("Q EMPTY") > -1)
         {
             return;
         }
         else
         {
             //存入数据库
             context.WriteQuene(context.CurrentTerminal, context.cbQueneType.Text, temp);
             //然后发送QD/QN
             EagleAPI.EagleSendOneCmd("QN");
         }
     }
     context.b_qtCmd = false;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 5、出票
 /// </summary>
 public void DoEtdz()
 {
     GlobalVar.b_netdz = true;
     //EagleAPI.EagleSendOneCmd("^|_^i~rtN3BQC~etdz:9", 1);//测试用
     EagleAPI.EagleSendOneCmd(strETCommand, 3);
     EagleAPI.LogWrite("\r\n" + DateTime.Now.ToShortTimeString() + "NewDecFee向航信发出指令:" + strETCommand);
 }
Ejemplo n.º 3
0
 private void btPATA_Click(object sender, EventArgs e)
 {
     bRtBotton = false;
     EagleAPI.CLEARCMDLIST(3);
     EagleAPI.EagleSendOneCmd("i~rT" + tbPnr.Text.Trim() + "~pat:A");
     pt = pattype.pata;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// 发指令取总价格串
        /// </summary>
        /// <returns></returns>
        private void SendPAT()
        {
            string patCommand = "";

            if (!isChild)
            {
                patCommand        = "I~RT" + strPnr + "~PAT:A";
                GlobalVar.b_getfc = true;
                EagleAPI.EagleSendOneCmd(patCommand);
            }
            else
            {
                if (this.strPasNum == this.strChildNum)
                {
                    patCommand             = patCommand = "I~RT" + strPnr + "~PAT:*CH";
                    GlobalVar.b_getchildfc = true;
                    EagleAPI.EagleSendOneCmd(patCommand);
                }
                else
                {
                    patCommand        = "I~RT" + strPnr + "~PAT:A";
                    GlobalVar.b_getfc = true;
                    EagleAPI.EagleSendOneCmd(patCommand);
                    patCommand             = patCommand = "I~RT" + strPnr + "~PAT:*CH";
                    GlobalVar.b_getchildfc = true;
                    EagleAPI.EagleSendOneCmd(patCommand);
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 1、发指令取是否出票和人数
        /// </summary>
        private void SendRT()
        {
            string rtCommand = "";

            rtCommand      = "i~rt" + strPnr.Trim();
            GlobalVar.b_rt = true;
            EagleAPI.EagleSendOneCmd(rtCommand);
        }
Ejemplo n.º 6
0
 private void btStart_Click(object sender, EventArgs e)
 {
     if (CurrentTerminal.Length != 6)
     {
         tbQuene.Text = "请先检查信箱状态";
         return;
     }
     EagleAPI.EagleSendOneCmd("i~@~qde~qs" + cbQueneType.Text);
 }
Ejemplo n.º 7
0
 static public void run(string tprcmd)
 {
     if (Tpr.running)
     {
         return;
     }
     Tpr.running   = true;
     Tpr.tprResult = "";
     EagleAPI.EagleSendOneCmd("i~" + tprcmd);
 }
Ejemplo n.º 8
0
        static public void run1(string tslcmd)
        {
            if (Tpr.running)
            {
                return;
            }
            Tpr.running   = true;
            Tpr.tprResult = "";
            TprCmd tc = new TprCmd(tslcmd);

            if (tc.ShowDialog() == DialogResult.OK)
            {
                EagleAPI.EagleSendOneCmd("i~" + tc.cmd);
            }
        }
Ejemplo n.º 9
0
 /// <summary>
 /// 开始检查
 /// </summary>
 public static void StartCheck()
 {
     nCheckFlag   = 1;//置开始检查标志位
     alCheckedEtn = new ArrayList();
     alPrinted    = new ArrayList();
     for (int i = 0; i < alEtn.Count; i++)
     {
         try
         {
             strCurEtkNum = alEtn[i].ToString();
             EagleAPI.EagleSendOneCmd("detr tn/" + CheckPrintObject.strCurEtkNum.Trim() + ",f");
             intCurCount = i + 1;
             Thread.Sleep(intDlay);
         }
         catch (Exception ea)
         {
             continue;
         }
     }
 }
Ejemplo n.º 10
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (textBox1.Text.Trim().Length != 5 || !EagleAPI.IsRtCode(textBox1.Text.Trim()))
     {
         //this.textBox1.Text += "错误PNR!";
         MessageBox.Show
             (textBox1.Text + ":错误PNR!PNR只能为五个字节,PNR中不可能有字母0,I,U", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     //EagleAPI.EagleSendOneCmd("i~rt:n/" + this.textBox1.Text);
     try
     {
         Options.ibe.ibeInterface ib = new Options.ibe.ibeInterface();
         MessageBox.Show(ib.rt(textBox1.Text.Trim(), GlobalVar.serverAddr == GlobalVar.ServerAddr.HangYiWang));
     }
     catch
     {
         EagleAPI.EagleSendOneCmd("i~rt:n/" + this.textBox1.Text);
     }
 }
Ejemplo n.º 11
0
 private void btQueneState_Click(object sender, EventArgs e)
 {
     tbQuene.Text = "";
     b_qtCmd      = true;
     EagleAPI.EagleSendOneCmd("qt");
 }
Ejemplo n.º 12
0
        private void btOK_Click(object sender, EventArgs e)
        {
            if (float.Parse(GlobalVar.f_CurMoney) < 110.0F)
            {
                MessageBox.Show("余额不足!");
                return;
            }

            if (DialogResult.Cancel == MessageBox.Show("确定要出票吗?您是否选择了正确的配置?", "警告", MessageBoxButtons.OKCancel))
            {
                return;
            }
            if (tbPnr.Text.Trim().Length != 5)
            {
                MessageBox.Show("编码不正确!"); return;
            }
            //string temp = "rT" + tbPnr.Text.Trim() + "~pat:~" + GlobalVar.strPatItem;
            //temp = temp.Replace("\r\n", "\xd");
            //temp = mystring.trim(temp);//去掉最后一个不可见字符
            //temp += "~rt";// +tbPnr.Text.Trim();

            //int nseg1 = int.Parse(nPeople.Value.ToString()) + 1;
            //int nseg2 = nseg1 + 1;
            //temp += "~" + nseg1.ToString() + "rr";
            //if (nSegment.Value == 2) temp += "~rt~" + nseg2.ToString() + "rr";

            //int ntktl = (int)nSegment.Value + (int)nPeople.Value + 3;
            //temp += "~rt~" + ntktl.ToString() + "at/" + tbLocalCity.Text.Trim();

            //if (cbRestrictions.Text.Trim() != "") temp += "~ei:" + cbRestrictions.Text;

            //temp += "~etdz:" + nPrinter.Value.ToString();
            EagleAPI.etstatic.Pnr = tbPnr.Text;
            string temp = "";

            temp += "i~" + tbRTPNR.Text.Trim();
            if (tbPAT.Text.Trim() != "")
            {
                switch (pt)
                {
                case pattype.pat:
                    temp += "~pat:~" + tbPAT.Text.Trim();
                    break;

                case pattype.patch:
                    temp += "~pat:*ch~" + tbPAT.Text.Trim();
                    break;

                case pattype.pata:
                    temp += "~pat:a~" + tbPAT.Text.Trim();
                    break;
                }
            }
            if (tbRRA.Text.Trim() != "")
            {
                temp += "~" + tbRRA.Text.Trim();// +"~rt";
            }
            if (tbRRB.Text.Trim() != "")
            {
                temp += "~" + tbRRB.Text.Trim();// +"~rt";
            }
            if (tbRRC.Text.Trim() != "")
            {
                temp += "~" + tbRRC.Text.Trim();// +"~rt";
            }
            if (tbRRD.Text.Trim() != "")
            {
                temp += "~" + tbRRD.Text.Trim();// +"~rt";
            }
            if (tbATWUH.Text.Trim() != "")
            {
                temp += "~" + tbATWUH.Text.Trim() + "~rt";
            }
            if (tbEI.Text.Trim() != "")
            {
                temp += "~" + tbEI.Text.Trim();
            }
            if (tbETDZ.Text.Trim() != "")
            {
                temp += "~" + tbETDZ.Text.Trim();
            }
            char ttt = (char)0x0d;

            EagleAPI.EagleSendOneCmd(temp.Replace("\r\n", ttt.ToString()));
        }
Ejemplo n.º 13
0
        public void autoEtdz(string pnr, bool isPatOperation)
        {
            string prestring = "EEEEEEEEEE    ";

            try
            {
                if (!isPatOperation)
                {
                    EagleAPI.LogWrite(prestring + "开始进行自动出票:");
                }
                Options.ibe.ibeInterface ib = new Options.ibe.ibeInterface();
                string            rtXml     = ib.rt2(pnr);
                Options.ibe.IbeRt rtResult  = new Options.ibe.IbeRt(rtXml);
                //注:自动出票不检查身份证项,请在出票前输好身份证
                //0.检查PNR是否存在
                if (!isPatOperation)
                {
                    EagleAPI.LogWrite("检查PNR是否存在:");
                }
                if (rtXml == "")
                {
                    throw new Exception("终止出票,原因:PNR不存在!");
                }

                //1.检查是否有票号
                if (!isPatOperation)
                {
                    EagleAPI.LogWrite("检查是否有票号:");
                }
                if (rtResult.getpeopleinfo(2)[0] != "")
                {
                    throw new Exception("终止出票,原因:已经存在票号");
                }

                //2.根据出发城市,找到对应配置,此步骤以后增加。暂时使用当前配置
                string startCity = rtResult.getflightsegsinfo()[0].Split('~')[2].Substring(0, 3);
                //todo: 找配置,并切换配置……

                //3.检验配置是否切换成功,若成功,则应该在返回变量中,处理后面的步骤。
                //todo:EagleAPI.EagleSendOneCmd("qt");

                //4.根据PNR信息及配置定制指令串
                if (!isPatOperation)
                {
                    EagleAPI.LogWrite("开始生成指令串");
                }
                List <string> cmdString = new List <string>();
                cmdString.Add("rt" + pnr);
                //      I.根据人数及航段,指定RR项
                int pCount = rtResult.getpeopleinfo(0).Length;
                { this.nPeople.Value = pCount; Application.DoEvents(); }                                        //置控件
                int fCount = rtResult.getflightsegsinfo().Length;
                { this.nSegment.Value = fCount; Application.DoEvents(); }                                       //置控件
                for (int i = 0; i < fCount; i++)
                {
                    cmdString.Add(string.Format("{0}RR", pCount + i + 1));
                }
                //      II.根据航空公司及配置,指定AT/WUH项
                int    no     = pCount + fCount + 3;
                string atItem = no.ToString() + "aT/" + startCity + "YY";
                cmdString.Add(atItem);
                { tbLocalCity.Text = startCity + "YY"; tbATWUH.Text = atItem; Application.DoEvents(); }         //置控件

                //      III.检查舱位是否为特价舱。来决定PAT项
                string[] fInfo           = rtResult.getflightsegsinfo();
                int      normalBunkCount = 0;
                for (int i = 0; i < fInfo.Length; i++)
                {
                    if (EagleAPI.isNormalBunk(fInfo[i].Split('~')[0].Substring(0, 2), fInfo[i].Split('~')[1]))
                    {
                        normalBunkCount++;
                    }
                }
                bRtBotton = false;
                EagleAPI.CLEARCMDLIST(3);
                if (btAutoETDZ.Focused)//原一键出票
                {
                    if (cbAutoPat.Checked)
                    {
                        EagleAPI.LogWrite("发送相应的PAT指令");
                        if (normalBunkCount == fInfo.Length)//全部航段为正常舱位
                        {
                            if (fCount == 1)
                            {
                                if (isPatOperation)
                                {
                                    EagleAPI.EagleSendOneCmd("i~rT" + tbPnr.Text.Trim() + "~pat:");
                                    return;
                                }
                                cmdString.Add("pat:");
                            }
                            else
                            {
                                switch (fInfo[0].Split('~')[0].Substring(0, 2))
                                {
                                case "CZ":
                                    if (isPatOperation)
                                    {
                                        EagleAPI.EagleSendOneCmd("i~rT" + tbPnr.Text.Trim() + "~pat:#yzzs");
                                        return;
                                    }
                                    cmdString.Add("pat:#yzzs");
                                    break;

                                case "MU":
                                    if (isPatOperation)
                                    {
                                        EagleAPI.EagleSendOneCmd("i~rT" + tbPnr.Text.Trim() + "~pat:#muytr");
                                        return;
                                    }
                                    cmdString.Add("pat:#muytr");
                                    break;

                                case "3U":
                                    if (isPatOperation)
                                    {
                                        EagleAPI.EagleSendOneCmd("i~rT" + tbPnr.Text.Trim() + "~pat:#3UZZ");
                                        return;
                                    }
                                    cmdString.Add("pat:#3UZZ");
                                    break;

                                default:
                                    if (isPatOperation)
                                    {
                                        EagleAPI.EagleSendOneCmd("i~rT" + tbPnr.Text.Trim() + "~pat:");
                                        return;
                                    }
                                    cmdString.Add("pat:");
                                    break;
                                }
                            }
                        }
                        else if (normalBunkCount == 0)//全部为特价舱
                        {
                            if (isPatOperation)
                            {
                                EagleAPI.EagleSendOneCmd("i~rT" + tbPnr.Text.Trim() + "~pat:a");
                                return;
                            }
                            cmdString.Add("pat:a");
                        }
                        else//其中一部分为特价舱
                        {
                            throw new Exception("终止出票,原因:包含正常舱位和特殊舱位!不知道如何PAT!");
                        }

                        if (!isPatOperation)
                        {
                            cmdString.Add(GlobalVar.strPatItem);
                        }
                        DialogResult dr = MessageBox.Show("PAT指令:    " + cmdString[cmdString.Count - 1] + "\r\n" +
                                                          "票价组:   " + cmdString[cmdString.Count - 1] + "\r\n\r\n是否继续出票?", "注意", MessageBoxButtons.YesNo);
                        if (dr == DialogResult.No)
                        {
                            return;
                        }
                    }
                }
                else if (button1.Focused)//2008-7-21  一键出票
                {
                    if (!isPATed.Checked)
                    {
                        string patStr = "";
                        if (radioButton1.Checked)
                        {
                            patStr = "pat:";
                        }
                        if (radioButton2.Checked)
                        {
                            patStr = "pat:A";
                        }
                        if (radioButton3.Checked)
                        {
                            patStr = "pat:*ch";
                        }
                        if (radioButton4.Checked)
                        {
                            patStr = "pat:#yzzs";
                        }
                        if (radioButton5.Checked)
                        {
                            patStr = "pat:#muytr";
                        }
                        if (radioButton6.Checked)
                        {
                            patStr = "pat:#3UZZ";
                        }
                        if (!isPatOperation)
                        {
                            cmdString.Add(GlobalVar.strPatItem);
                        }
                        if (isPatOperation)
                        {
                            EagleAPI.EagleSendOneCmd("i~rT" + tbPnr.Text.Trim() + "~" + patStr);
                            return;
                        }
                        cmdString.Add(patStr);
                        DialogResult dr = MessageBox.Show("PAT指令:    " + cmdString[cmdString.Count - 1] + "\r\n" +
                                                          "票价组:   " + cmdString[cmdString.Count - 1] + "\r\n\r\n是否继续出票?", "注意", MessageBoxButtons.YesNo);
                        if (dr == DialogResult.No)
                        {
                            return;
                        }
                    }
                }
                //      IV. 签注EI项
                int bunkindex = 0;
                for (int i = 0; i < fInfo.Length; i++)
                {
                    int index = EagleAPI.IndexOfBunk(fInfo[i].Split('~')[0].Substring(0, 2), fInfo[i].Split('~')[1]);
                    if (index > bunkindex)
                    {
                        bunkindex = index;
                    }
                }
                if (bunkindex < 3)
                {
                    cbRestrictions.Text = "";
                }
                else if (bunkindex < 6)
                {
                    cmdString.Add("EI:不得签转");
                    cbRestrictions.Text = cmdString[cmdString.Count - 1].Substring(3);      //置控件
                }
                else if (bunkindex < 16)
                {
                    cmdString.Add("EI:不得签转更改");
                    cbRestrictions.Text = cmdString[cmdString.Count - 1].Substring(3);      //置控件
                }
                else
                {
                    cmdString.Add("EI:不得签转更改退票");
                    cbRestrictions.Text = cmdString[cmdString.Count - 1].Substring(3);      //置控件
                }
                Application.DoEvents();
                //      V.出票ETDZ项
                int pn = CreateETicket.GetPrinterNumber(GlobalVar.officeNumberCurrent);
                cmdString.Add("ETDZ:" + pn.ToString());
                tbETDZ.Text = "ETDZ:" + pn.ToString();                              //置控件
                Application.DoEvents();
                if (pn == 0)
                {
                    throw new Exception("终止出票,原因:未选择配置!");
                }
                string cmd = "i";
                for (int i = 0; i < cmdString.Count; i++)
                {
                    cmd += "~" + cmdString[i];
                }
                EagleAPI.LogWrite(prestring + "得到指令并发送:" + cmd);
                EagleAPI.EagleSendOneCmd(cmd);
            }
            catch (Exception ex)
            {
                EagleAPI.LogWrite(prestring + ex.Message);
                //控件值。
                this.tbPAT.Text = ex.Message;                                           //置控件
            }
        }
Ejemplo n.º 14
0
 private void bt查看PNR_Click(object sender, EventArgs e)
 {
     bRtBotton = true;
     EagleAPI.CLEARCMDLIST(3);
     EagleAPI.EagleSendOneCmd("i~rT" + tbPnr.Text.Trim());
 }
Ejemplo n.º 15
0
 /// <summary>
 /// 5、出票
 /// </summary>
 public void DoEtdz()
 {
     //EagleAPI.EagleSendOneCmd("^|_^i~rtN3BQC~etdz:9", 1);//测试用
     EagleAPI.EagleSendOneCmd(strETCommand, 3);
 }