Exemple #1
0
        private void bt_Print_Click(object sender, EventArgs e)
        {
            #region 判断是否符合打印条件
            if (!EagleAPI.PrinterSetup(ptDoc))
            {
                return;
            }
            //if (tb_PNR.Text.Trim().Length != 5)
            //{
            //    MessageBox.Show("订座记录号错误");
            //    return;
            //}
            //任我游为10位数
            if (tb_NO.Text.Trim().Length != 10)
            {
                MessageBox.Show("保单号长度错误");
                return;
            }
            try
            {
                long.Parse(tb_NO.Text.Trim());
            }
            catch
            {
                MessageBox.Show("保单号只能为数字");
                return;
            }
            if (cb_Name.Text.Trim() == "")
            {
                MessageBox.Show("姓名不能为空");
                return;
            }
            if (tb_CardNo.Text.Trim() == "")
            {
                MessageBox.Show("证件号码不能为空");
                return;
            }
            //if (tb_Signature.Text.Trim() == "")
            //{
            //    MessageBox.Show("经办人不能为空");
            //    return;
            //}
            //if (tb_Insuror.Text.Trim() == "")
            //{
            //    MessageBox.Show("保险人不能为空");
            //    return;
            //}
            #endregion

            //6+凑足八位
            this.tb_RandomNo.Text = "PEED2006420105" + System.DateTime.Now.Month.ToString("x") + EagleAPI.GetRandom62();

#if newHYX
            if (!GlobalVar.b_OffLine)
            {
                if (cb_Name.Text != GlobalVar.HYXTESTPRINT)
                {
                    HyxStructs hs = new HyxStructs();
                    hs.UserID           = GlobalVar.loginName;
                    hs.eNumber          = tb_RandomNo.Text;
                    hs.IssueNumber      = tb_NO.Text;
                    hs.NameIssued       = cb_Name.Text;
                    hs.CardType         = "";
                    hs.CardNumber       = tb_CardNo.Text;
                    hs.Remark           = "001";//"中国人保财险-任我游";001
                    hs.IssuePeriod      = "7天";
                    hs.IssueBegin       = dtp_Start.Value.ToShortDateString() + " 00:00:00";
                    hs.IssueEnd         = dtp_End.Value.ToShortDateString() + " 23:59:59";
                    hs.SolutionDisputed = cb_Method.Text;
                    hs.NameBeneficiary  = tb_Benefit.Text;
                    hs.Signature        = this.tb_Signature.Text;
                    hs.SignDate         = dtp_Date.Value.ToShortDateString();
                    hs.Pnr = this.tb_PNR.Text;
                    if (!hs.SubmitInfo())
                    {
                        MessageBox.Show("数据提交失败!请检查保单号是否已被使用,或网络是否正常!");
                        return;
                    }
                }
            }
#else
            #region   数据
            if (conn.State != ConnectionState.Connecting)
            {
                conn.Close();
                try
                {
                    conn.Open();
                }
                catch
                {
                    MessageBox.Show("数据库连接失败!!");
                    Application.Exit();
                }
            }

            string cmdstring = "insert t_hyx (UserID,InsuranceName,PNR,[NO],Policy,IssuedName,IDCard,FlightNo,";
            cmdstring += "FlyDate,EffictiveTime,EffictiveStart,EffictiveEnd,Beneficiary,BeneficiaryInfo,IssuedDate,";
            cmdstring += "IssuedBy) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}')";
            cmdstring  = string.Format(cmdstring, GlobalVar.loginName, "中国人保财险-任我游", tb_PNR.Text, tb_RandomNo.Text, tb_NO.Text,
                                       cb_Name.Text, this.tb_CardNo.Text, "", "", "7天",
                                       dtp_Start.Value.ToShortDateString() + " 00:00:00",
                                       dtp_End.Value.ToShortDateString() + " 24:00:00",
                                       "", "", dtp_Date.Value.ToString(), tb_Signature.Text);
            try
            {
                SqlCommand cmd = new SqlCommand(cmdstring, conn);
                if (cmd.ExecuteNonQuery() != 1)
                {
                    MessageBox.Show("数据上传失败!");
                    return;
                }
            }
            catch
            {
                MessageBox.Show("请正确输入!");
                return;
            }
            #endregion
#endif
            #region 打印
            PrintDialog pd = new PrintDialog();
            pd.Document = ptDoc;
            DialogResult dr = pd.ShowDialog();
            if (dr == DialogResult.OK)
            {
                ptDoc.Print();
            }
            #endregion
        }