private void btnUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                string strUserName = StaticParameter.UserName;

                string strsql = "select count(*) from Sys_Operator where UserName ='******'","''") + "' and PassWord='******' and IsForbid='0'";

                int IRow = Convert.ToInt32(DbHelperSQL.GetSingle(strsql));

                if (IRow > 0)
                {
                    if (this.txtNew.Text.Trim() == "")
                    {
                        MessageBox.Show("用户新密码不能为空!", "天大天科调运系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }

                    if (this.txtNew.Text != this.txtAgain.Text)
                    {
                        MessageBox.Show("对不起,您输入的新口令与确认口令不一致,请重新输入!", "天大天科调运系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        ClearText();
                        return;
                    }

                    string strupdatesql = "update Sys_Operator set PassWord='******' where UserName = '******'";
                    if (DbHelperSQL.ExecuteSql(strupdatesql) > 0)
                    {
                        #region 数据同步
                        MsmqManage mq = new MsmqManage();
                        mq.AddMsmq(strupdatesql);
                        #endregion

                        MessageBox.Show("恭喜,口令更改成功!", "天大天科调运系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        ClearText();
                        this.DialogResult = DialogResult.OK;
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("对不起,口令更改失败!", "天大天科调运系统", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("对不起,您输入旧口令不正确,请重新输入!", "天大天科调运系统", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    ClearText();
                }
            }
            catch
            { }
        }
        private void btnSend_Click(object sender, EventArgs e)
        {
            string strError = "";
            //txtRemoteCard.Text = "123";
            //txtNavicertCode.Text = "00000789";

            if (txtEmptyCode.Text.Trim() == "" || txtCarNo.Text.Trim() == "")
                strError += "请选择车辆登记信息";
            if (IsHaveRemote == "1")
            {
                if (strReadRemoteCode == "")
                    strError += "没有读到电子标签";
                else
                {
                    if (strReadRemoteCode.Split(',').Length > 1)
                        strError += "读到了多个电子标签,请确认周围是否只有一个电子标签";
                }
            }
            if (strError != "")
            {
                alarmSound.Alarm(strError);
                return;
            }

            if (txtNavicertCode.Text.Trim() != "")
            {
                strNavicertCode = txtNavicertCode.Text.Trim();

                SqlParameter[] parameters =
                    {
                        new SqlParameter("@CarNo", SqlDbType.VarChar,20),
                        new SqlParameter("@NavicertCode", SqlDbType.VarChar,20)
                    };

                parameters[0].Value = txtCarNo.Text.Trim();
                parameters[1].Value = txtNavicertCode.Text.Trim();

                DataSet dstNavicertJudge = DbHelperSQL.RunProcedure("PT_NavicertCardJudge", parameters, "NavicertJudge");

                if (dstNavicertJudge.Tables.Count > 0)
                {
                    if (dstNavicertJudge.Tables["NavicertJudge"].Rows.Count > 0)
                    {
                        string strNavicertJudge = dstNavicertJudge.Tables["NavicertJudge"].Rows[0]["ReturnValue"].ToString();

                        if (strNavicertJudge != "0" && strNavicertJudge != "3")  //0:已发给别人,不能办理 1:从未办理,可以办理 2:可以更新,可以办理 3:车辆已有准运卡,不能办理一张新的
                        {
                            try
                            {
                                CoalTraffic.BLL.TT_Navicert bllNavicertCard = new CoalTraffic.BLL.TT_Navicert();
                                CoalTraffic.Model.TT_Navicert modelNavicertCard = new CoalTraffic.Model.TT_Navicert();
                                CoalTraffic.Model.TT_CarInfo modelCarInfo = new CoalTraffic.BLL.TT_CarInfo().GetModel(txtEmptyCode.Text.Trim().Replace("'", "''"));

                                modelNavicertCard.NavicertCode = strNavicertCode;
                                modelNavicertCard.ClaimPersonName = txtClaimPerson.Text.Trim();
                                modelNavicertCard.CarCode = txtEmptyCode.Text.Trim();
                                //modelNavicertCard.NavicertCode = strNavicertCode;
                                modelNavicertCard.Remark = txtRemark.Text.Trim();
                                modelNavicertCard.CarNo = modelCarInfo.CarNo;
                                modelNavicertCard.CarType = modelCarInfo.CarType;
                                modelNavicertCard.EmptyWeight = modelCarInfo.EmptyWeight;
                                modelNavicertCard.MostWeight = modelCarInfo.MostWeight;
                                modelNavicertCard.RoomCode = "0";
                                modelNavicertCard.CarOwnerIDCard = modelCarInfo.CarOwnerIDCard;
                                modelNavicertCard.CarOwnerName = modelCarInfo.CarOwnerName;
                                modelNavicertCard.CarOwnerPhone = modelCarInfo.CarOwnerPhone;
                                modelNavicertCard.StartTime = DateTime.Now;
                                modelNavicertCard.EndTime = DateTime.MaxValue;
                                modelNavicertCard.NavicertState = "1";
                                modelNavicertCard.CardType = "1";
                                modelNavicertCard.SendPerson = StaticParameter.UserName;
                                modelNavicertCard.IsForbid = "0";
                                modelNavicertCard.RemoteCardCode=strReadRemoteCode.TrimEnd(',');
                                //modelNavicertCard.RemoteCardCode = txtRemoteCard.Text;
                                modelNavicertCard.NavicertNo = strNavicertCode;

                                string strSuccess = "";
                                if (strNavicertJudge == "1")
                                {
                                    strSuccess = bllNavicertCard.Add(modelNavicertCard);
                                    #region 数据同步到各磅房
                                    if (strSuccess != "")
                                    {
                                        StringBuilder sbInsert = new StringBuilder();
                                        sbInsert.Append("insert into TT_Navicert(NavicertCode,RoomCode,CarCode,CarNo,CarType,CarOwnerName,NavicertState,");
                                        sbInsert.Append("CardType,StartTime,EndTime,SendPerson,ClaimPersonName,CarOwnerPhone,CarOwnerIDCard,MostWeight,");
                                        sbInsert.Append("EmptyWeight,IsForbid,Remark) values ('" + modelNavicertCard.NavicertCode + "','" + modelNavicertCard.RoomCode + "',");
                                        sbInsert.Append("'" + modelNavicertCard.CarCode + "','" + modelNavicertCard.CarNo + "','" + modelNavicertCard.CarType + "','" + modelNavicertCard.CarOwnerName + "',");
                                        sbInsert.Append("'" + modelNavicertCard.NavicertState + "','" + modelNavicertCard.CardType + "','" + modelNavicertCard.StartTime + "','" + modelNavicertCard.EndTime + "',");
                                        sbInsert.Append("'" + modelNavicertCard.SendPerson + "','" + modelNavicertCard.ClaimPersonName + "','" + modelNavicertCard.CarOwnerPhone + "',");
                                        sbInsert.Append("'" + modelNavicertCard.CarOwnerIDCard + "','" + modelNavicertCard.MostWeight + "','" + modelNavicertCard.EmptyWeight + "',");
                                        sbInsert.Append("'" + modelNavicertCard.IsForbid + "','" + modelNavicertCard.Remark + "');");
                                        if (modelNavicertCard.RemoteCardCode != "")
                                            sbInsert.Append("Update TT_CarInfo Set RemoteCardCode='" + modelNavicertCard.RemoteCardCode + "' where CarCode='" + modelNavicertCard.CarCode + "'");
                                        MsmqManage mq = new MsmqManage();
                                        string strMq = mq.AllStation + mq.Prefix + "TT_Navicert" + mq.Prefix + mq.AddFlg + mq.Prefix + DateTime.Now.ToString("yyyy-MM-dd hh:mm;ss") + mq.Prefix + sbInsert.ToString();
                                        mq.AddMsmq(strMq.ToString());
                                        //MsmqManage mq = new MsmqManage();
                                        //mq.AddMsmq(sbInsert.ToString());
                                    }
                                    #endregion
                                }
                                else if (strNavicertJudge == "2")
                                {
                                    string strSql = "Select NavicertCode from TT_Navicert where CarNo='" + modelNavicertCard.CarNo.Replace("'", "''") + "' and NavicertState='1'";
                                    string strID = DbHelperSQL.GetSingle(strSql).ToString();

                                    DialogResult dResult = CommonMethod.MessageBox("该车辆已办理准运卡,是否将此卡更新?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                                    if (dResult == DialogResult.No)
                                    {
                                        ClearAllText();
                                        return;
                                    }
                                    modelNavicertCard.NavicertCode = strID;
                                    strSuccess = bllNavicertCard.Update(modelNavicertCard);

                                    #region 数据同步到各磅房
                                    if (strSuccess != "")
                                    {
                                        StringBuilder strUpdate = new StringBuilder();
                                        strUpdate.Append("update TT_Navicert set RoomCode='" + modelNavicertCard.RoomCode + "',CarCode='" + modelNavicertCard.CarCode + "',");
                                        strUpdate.Append("CarNo='" + modelNavicertCard.CarNo + "',CarType='" + modelNavicertCard.CarType + "',");
                                        strUpdate.Append("CarOwnerName='" + modelNavicertCard.CarOwnerName + "',NavicertState='" + modelNavicertCard.NavicertState + "',");
                                        strUpdate.Append("CardType='" + modelNavicertCard.CardType + "',StartTime='" + modelNavicertCard.StartTime + "',");
                                        strUpdate.Append("EndTime='" + modelNavicertCard.EndTime + "',SendPerson='" + modelNavicertCard.SendPerson + "',");
                                        strUpdate.Append("ClaimPersonName='" + modelNavicertCard.ClaimPersonName + "',CarOwnerPhone='" + modelNavicertCard.CarOwnerPhone + "',");
                                        strUpdate.Append("CarOwnerIDCard='" + modelNavicertCard.CarOwnerIDCard + "',MostWeight='" + modelNavicertCard.MostWeight + "',");
                                        strUpdate.Append("EmptyWeight='" + modelNavicertCard.EmptyWeight + "',IsForbid='" + modelNavicertCard.IsForbid + "',");
                                        strUpdate.Append("Remark='" + modelNavicertCard.Remark + "' where NavicertCode='" + modelNavicertCard.NavicertCode + "';");
                                        if(modelNavicertCard.RemoteCardCode!="")
                                            strUpdate.Append("Update TT_CarInfo Set RemoteCardCode='" + modelNavicertCard.RemoteCardCode + "' where CarCode='" + modelNavicertCard.CarCode + "'");
                                        MsmqManage mq = new MsmqManage();
                                        string strMq = mq.AllStation + mq.Prefix + "TT_Navicert" + mq.Prefix + mq.EditFlg + mq.Prefix + DateTime.Now.ToString("yyyy-MM-dd hh:mm;ss") + mq.Prefix + strUpdate.ToString();
                                        mq.AddMsmq(strMq.ToString());
                                        //new MsmqManage().AddMsmq(strUpdate.ToString());
                                    }
                                    #endregion
                                }

                                if (strSuccess != "")//if (strSuccess != string.Empty)
                                {
                                    alarmSound.Alarm("准运卡办理成功即将打印办理凭证");
                                    new report.NavicertCardPrint(strSuccess, true).ShowDialog();
                                }
                                else
                                {
                                    alarmSound.Alarm("准运卡办理失败");
                                }
                                ClearAllText();
                            }
                            catch (Exception ex)
                            {
                                CommonMethod.MessageBox(ex.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                        }
                        else if (strNavicertJudge == "0")
                        {
                            ClearAllText();
                            alarmSound.Alarm("该准运卡已发给其它车辆不能再次办理");

                        }
                        else if (strNavicertJudge == "3")
                        {
                            ClearAllText();
                            alarmSound.Alarm("该车辆已有准运卡不能再为其办理一张新的准运卡如需更换请先将原准运卡注销");
                        }
                    }
                }
            }
            else
            {
                alarmSound.Alarm("请刷准运卡");
            }
        }
        /// <summary>
        /// 开始初始化
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSend_Click(object sender, EventArgs e)
        {
            if (strNewMarkedCode == "")
            {
                alarmSound.Alarm("请刷卡");
                MessageBox.Show("请刷卡","天大天科",MessageBoxButtons.OK,MessageBoxIcon.Error);
                return;
            }
            CoalTraffic.Model.TT_InitialCard model = new CoalTraffic.Model.TT_InitialCard();
            model.CardID = strNewFactoryCode.TrimEnd('|');
            model.CardNO = strNewMarkedCode.TrimEnd('|');
            model.CardType = "1";
            //model.InitialTime = DateTime.Parse(txtEditTime.Text);
            model.InitialTime = DateTime.Now;
            model.IntialPerson = txtOperator.Text;
            if (bll.Add(strNewFactoryCode.TrimEnd('|'), strNewMarkedCode.TrimEnd('|'), model))
            {
                #region 数据同步到各磅房---注释了消息队列发送语句

                StringBuilder strAll = new StringBuilder();
                string[] cardno = null;
                string[] cardcode = null;
                int i = 0;
                string strNewMarkedCardNo = strNewFactoryCode.TrimEnd('|');
                string strNewMarkedCardCode = strNewMarkedCode.TrimEnd('|');
                if (strNewMarkedCardNo != "")
                {
                    //对数据库中没有的卡号,添加记录
                    cardno = strNewFactoryCode.Split('|');
                    cardcode = strNewMarkedCode.Split('|');
                    for (i = 0; i < cardno.Length; i++)
                    {
                        strAll.Append("insert into TT_InitialCard(");
                        strAll.Append("CardID,CardNO,CardType,InitialTime,IntialPerson)");
                        strAll.Append(" values (");
                        strAll.Append("'" + cardno[i] + "','" + cardcode[i] + "','" + model.CardType + "','" + model.InitialTime + "','" + model.IntialPerson + "');");

                        //往标识卡记录表里添加记录(数据不需要往下同步)
                    }
                }
                MsmqManage mq = new MsmqManage();
                string strMq = mq.AllStation + mq.Prefix + "TT_InitialCard" + mq.Prefix + mq.AddFlg + mq.Prefix + DateTime.Now.ToString("yyyy-MM-dd hh:mm;ss") + mq.Prefix + strAll.ToString();
                //mq.AddMsmq(strMq.ToString());
                #endregion

                strNewFactoryCode = "";
                strNewMarkedCode = "";
                this.txtAdded.Text = "0";
                this.txtActiveCount.Text = "100";
                this.txtMarkedCode.Text = "";

                alarmSound.Alarm("初始化成功!");
                AlarmText.Text = "初始化成功!";
                //MessageBox.Show("初始化成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
            else
            {
                alarmSound.Alarm("初始化失败!");
                AlarmText.Text = "初始化失败!";
                //MessageBox.Show("初始化失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        /// <summary>
        /// -补卡的方法
        /// </summary>
        public void Send()
        {
            string strError = "";
            if (txtBEmptyCode.Text.Trim() == "" || txtBCarNo.Text.Trim() == "")
                strError += "请选择车辆登记信息";
            if (IsHaveRemote == "1")
            {
                if (strReadRemoteCode == "")
                    strError += "没有读到电子标签,请刷电子标签!";
                else
                {
                    if (strReadRemoteCode.Split(',').Length > 1)
                    {
                        strError += "读到了多个电子标签,请确认周围是否只有一个电子标签";
                        txtBRemoteCard.Clear();
                    }
                }
            }
            if (strError != "")
            {
                alarmSound.Alarm(strError);
                MessageBox.Show(strError, "天大天科", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (txtBNavicertCode.Text.Trim() == "")
            {
                alarmSound.Alarm("请刷准运卡");
                MessageBox.Show("请刷准运卡", "天大天科", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            string sSQL = "select NavicertCode from TT_Navicert where NavicertCode='" + txtBNavicertCode.Text.Trim() + "'and NavicertState='1'";
            object OResult = DbHelperSQL.GetSingle(sSQL);
            if (OResult != null)
            {
                alarmSound.Alarm("此卡已经和其它车辆绑定请另外刷卡");
                MessageBox.Show("此卡已经和其它车辆绑定请另外刷卡", "天大天科", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            strNavicertCode = txtBNavicertCode.Text.Trim();

            CoalTraffic.BLL.TT_Navicert bll = new CoalTraffic.BLL.TT_Navicert();
            DataSet ds = new DataSet();
            ds = bll.GetList("CarCode='" + this.txtBEmptyCode.Text.Trim() + "'");

            if (ds.Tables[0].Rows.Count > 0)
            {
                //注销准运卡表里该条记录
                SendCard.Public.SWPublic dal = new SendCard.Public.SWPublic();
                CoalTraffic.Model.TT_Navicert model = new CoalTraffic.Model.TT_Navicert();
                model.CarCode = this.txtBEmptyCode.Text;
                model.NavicertState = "3";

                dal.Add(model);//将现有的数据注销

                //增加一条新准运卡记录
                CoalTraffic.Model.TT_Navicert model2 = new CoalTraffic.Model.TT_Navicert();
                CoalTraffic.Model.TT_CarInfo modelCarInfo = new CoalTraffic.BLL.TT_CarInfo().GetModel(txtBEmptyCode.Text.Trim().Replace("'", "''"));
                if (model2 != null)
                {
                    model2.NavicertCode = strNavicertCode;
                    model2.RoomCode = modelCarInfo.RoomCode;
                    model2.CarCode = txtBEmptyCode.Text.Trim();
                    model2.CarNo = modelCarInfo.CarNo;
                    model2.CarType = modelCarInfo.CarType;
                    model2.CarOwnerName = modelCarInfo.CarOwnerName;
                    model2.CarOwnerPhone = modelCarInfo.CarOwnerPhone;
                    model2.CarOwnerIDCard = modelCarInfo.CarOwnerIDCard;
                    model2.MostWeight = modelCarInfo.MostWeight;
                    model2.EmptyWeight = modelCarInfo.EmptyWeight;
                    model2.NavicertState = "1";
                    model2.CardType = "1";
                    model2.StartTime = DateTime.Now;
                    model2.EndTime = DateTime.MaxValue;
                    model2.SendPerson = StaticParameter.UserName;
                    model2.ClaimPersonName = txtBClaimPerson.Text.Trim();
                    model2.IsForbid = "0";
                    model2.Remark = txtBRemark.Text.Trim();
                    model2.NavicertNo = strNavicertCode;

                    #region 判断是否更新电子标签
                    if (IsHaveRemote == "1")
                    {
                        string sql = "select RemoteCardCode FROM [CoalTraffic].[dbo].[TT_CarInfo] where  CarCode='" + txtBEmptyCode.Text.Trim() + "'";
                        string result = (string)DbHelperSQL.GetSingle(sql);
                        if (!string.IsNullOrEmpty(result))
                        {
                            DialogResult refYN = MessageBox.Show("该车辆已有电子标签,是否更换该车辆的电子标签?", "天大天科", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                            if (refYN == DialogResult.Yes)
                            {
                                model2.RemoteCardCode = strReadRemoteCode.TrimEnd(',');
                            }
                            else
                            {
                                model2.RemoteCardCode = "";
                            }
                        }
                    }
                    #endregion

                }

                string strSuccess = "";
                strSuccess = dal.AddNewNcard(model2);//更新后的方法,此方法避免了将原有的电子标签更改为空
                //strSuccess = bll.Add(model2);

                if (strSuccess != "")
                {
                    //发送消息到磅房
                    //发送修改信息到队列和增加的队列。
                    StringBuilder sbInsert = new StringBuilder();
                    sbInsert.Append("insert into TT_Navicert(NavicertCode,RoomCode,CarCode,CarNo,CarType,CarOwnerName,NavicertState,");
                    sbInsert.Append("CardType,StartTime,EndTime,SendPerson,ClaimPersonName,CarOwnerPhone,CarOwnerIDCard,MostWeight,");
                    sbInsert.Append("EmptyWeight,IsForbid,Remark) values ('" + model2.NavicertCode + "','" + model2.RoomCode + "',");
                    sbInsert.Append("'" + model2.CarCode + "','" + model2.CarNo + "','" + model2.CarType + "','" + model2.CarOwnerName + "',");
                    sbInsert.Append("'" + model2.NavicertState + "','" + model2.CardType + "','" + model2.StartTime + "','" + model2.EndTime + "',");
                    sbInsert.Append("'" + model2.SendPerson + "','" + model2.ClaimPersonName + "','" + model2.CarOwnerPhone + "',");
                    sbInsert.Append("'" + model2.CarOwnerIDCard + "','" + model2.MostWeight + "','" + model2.EmptyWeight + "',");
                    sbInsert.Append("'" + model2.IsForbid + "','" + model2.Remark + "');");
                    sbInsert.Append("update TT_Navicert set NavicertState='3'");
                    sbInsert.Append("where CarCode='" + this.txtBEmptyCode.Text.Trim() + "'and NavicertState='1'");
                    MsmqManage mq = new MsmqManage();
                    string strMq = mq.AllStation + mq.Prefix + "TT_Navicert" + mq.Prefix + mq.AddFlg + mq.Prefix + DateTime.Now.ToString("yyyy-MM-dd hh:mm;ss") + mq.Prefix + sbInsert.ToString();
                    //mq.AddMsmq(strMq.ToString());//注释消息队列语句
                    alarmSound.Alarm("准运卡办理成功,即将打印办理凭证");
                    new report.NavicertCardPrint(strSuccess, true).ShowDialog();
                    ClearAllText();
                }
            }
        }
        private void btnSend_Click(object sender, EventArgs e)
        {
            if (cbxRoom.SelectedIndex ==-1)
            {
                alarmSound.Alarm("请选择磅房");
                return;
            }
            string RoomCode = cbxRoom.SelectedValue.ToString();

            strFactoryCode = commclass.strFactoryCode;
            strNewTempCode = commclass.strNewTempCode;
            strExistTempCode = commclass.strExistTempCode;

            if (strFactoryCode == "")
            {
                alarmSound.Alarm("请刷临时卡");
                return;
            }

            StringBuilder strAll = new StringBuilder();
            string[] cardcode = null;
            string[] cardRoomCode = null;
            int i = 0;
            DateTime date = DateTime.Now;
            strExistTempCode = strExistTempCode.TrimEnd('|');
            if (strExistTempCode != "")
            {
                cardcode = strExistTempCode.TrimEnd('|').Split('|');
                for (i = 0; i < cardcode.Length; i++)
                {
                    cardRoomCode = cardcode[i].Split('*');
                    strAll.Append("update TT_TempCard set ");
                    strAll.Append("SendOperator='" + StaticParameter.UserName + "',");
                    strAll.Append("OperatorTime='" + date.ToString()+ "',");
                    strAll.Append("TempCardState='1',");
                    strAll.Append("Roomcode='" + cardRoomCode[1] + "',");
                    strAll.Append("IsForbid='0'");
                    strAll.Append(" where TempCode='" + cardRoomCode[0] + "';");
                }
            }
            strNewTempCode = strNewTempCode.TrimEnd('|');
            if (strNewTempCode != "")
            {
                //对数据库中没有的卡号,添加记录
                cardcode = strNewTempCode.Split('|');
                for (i = 0; i < cardcode.Length; i++)
                {
                    cardRoomCode = cardcode[i].Split('*');
                    strAll.Append("insert into TT_TempCard(");
                    strAll.Append("TempCode,SendOperator,OperatorTime,TempCardState,IsForbid,Roomcode)");
                    strAll.Append(" values (");
                    strAll.Append("'" + cardRoomCode[0] + "','" + StaticParameter.UserName + "','" + date.ToString() + "','1','0','" + cardRoomCode[1] + "');");
                }
            }

            //if (DbHelperSQL.ExecuteSql(strAll.ToString())>0)
            {
                #region 数据同步到各磅房
                MsmqManage mq = new MsmqManage();
                string strMq = mq.AllStation + mq.Prefix + "TT_TempCard" + mq.Prefix + mq.AddFlg + mq.Prefix + DateTime.Now.ToString("yyyy-MM-dd hh:mm;ss") + mq.Prefix + strAll.ToString();
                mq.AddMsmq(strMq.ToString());
                //mq.AddMsmq(strAll.ToString());
                #endregion

                strNewTempCode = "";
                strFactoryCode = "";
                strExistTempCode = "";
                this.txtAdded.Text = "0";
                this.txtTempCode.Text = "";
                this.txtOperatorTime.Text = DateTime.Now.ToString();
                strFactoryCode = "";
                //strFAll = "";
                alarmSound.Alarm("临时卡发放成功");

            }
            //else
            //    alarmSound.Alarm("临时卡发放失败!");
            clearcommclass();
        }
        private void btnSend_Click(object sender, EventArgs e)
        {
            strFactoryCode = commclass.SCardNo;
            strMarkedCode = commclass.SCardCode;
            if (strFactoryCode == "")
            {
                alarmSound.Alarm("请刷标识卡");
                return;
            }
            CoalTraffic.Model.TT_MarkedCard model = new CoalTraffic.Model.TT_MarkedCard();
            model.CoalKindCode = this.cbxCoalKind.SelectedValue.ToString();
            model.CollCode = this.cbxColl.SelectedValue.ToString();
            model.DepartName = this.txtDepartName.Text.Trim();
            model.Operator = this.txtOperator.Text.Trim();
            model.MarkedCardState = "1";
            model.MarkedCardNo = strFactoryCode.TrimEnd('|');
            model.MarkedCardCode = strMarkedCode.TrimEnd('|');
            model.SendCardDate = DateTime.Now;
            if (bll.Update(model))
            {
                #region 数据同步到各磅房
                string[] cardno = model.MarkedCardNo.Split('|');
                string[] cardcode = model.MarkedCardCode.Split('|');
                StringBuilder strAll = new StringBuilder("");
                int i = 0;
                //更新已有的卡
                for (i = 0; i < cardno.Length; i++)
                {
                    strAll.Append("update TT_MarkedCard set ");
                    strAll.Append("CollCode='" + model.CollCode + "',");
                    strAll.Append("CoalKindCode='" + model.CoalKindCode + "',");
                    strAll.Append("MarkedCardState='1',");
                    strAll.Append("SendCardDate='" + model.SendCardDate + "',");
                    strAll.Append("Operator='" + model.Operator + "',");
                    strAll.Append("DepartName='" + model.DepartName + "'");
                    strAll.Append(" where MarkedCardCode='" + cardcode[i] + "';");
                    //往标识卡记录表里添加记录(数据不需要往下同步)
                }
                MsmqManage mq = new MsmqManage();
                string strMq = mq.AllStation + mq.Prefix + "TT_MarkedCard" + mq.Prefix + mq.EditFlg + mq.Prefix + DateTime.Now.ToString("yyyy-MM-dd hh:mm;ss") + mq.Prefix + strAll.ToString();
                mq.AddMsmq(strMq.ToString());
                //mq.AddMsmq(strAll.ToString());
                #endregion

                //保存打印信息
                List<string> list = new List<string>();
                list.Add(this.cbxColl.Text);
                list.Add(this.cbxCoalKind.Text);
                list.Add(this.txtAdded.Text.Trim());
                list.Add(this.txtOperator.Text);
                list.Add(model.SendCardDate.ToString());
                list.Add(this.txtDepartName.Text);

                strFactoryCode = "";
                strMarkedCode = "";
                this.txtAdded.Text = "0";
                this.txtMarkedCode.Text = "";
                SetActiveCount();

                new Report.MarkedCardPrint(list, "激活").ShowDialog();
            }
            else
                alarmSound.Alarm("标识卡激活失败!");
            //对目前类中的数据进行初始化
            clearCommclass();
        }
        /// <summary>
        /// 补卡的方法
        /// </summary>
        public void Send()
        {
            if (txtBNavicertCode.Text.Trim() == "")
            {
                alarmSound.Alarm("请刷准运卡");
                return;
            }

            string sSQL = "select NavicertCode from TT_Navicert where NavicertCode='" + txtBNavicertCode.Text.Trim() + "'and NavicertState='1'";
            object OResult = DbHelperSQL.GetSingle(sSQL);
            if (OResult != null)
            {
                alarmSound.Alarm("此卡已经和其它车辆绑定请另外刷卡");
                return;
            }

            strNavicertCode = txtBNavicertCode.Text.Trim();

            CoalTraffic.BLL.TT_Navicert bll = new CoalTraffic.BLL.TT_Navicert();
            DataSet ds = new DataSet();
            ds = bll.GetList("CarCode='" + this.txtBEmptyCode.Text.Trim() + "'");

            if (ds.Tables[0].Rows.Count > 0)
            {
                //注销准运卡表里该条记录
                SendCard.Public.SWPublic dal = new SendCard.Public.SWPublic();
                CoalTraffic.Model.TT_Navicert model = new CoalTraffic.Model.TT_Navicert();
                model.CarCode = this.txtBEmptyCode.Text;
                model.NavicertState = "3";

                dal.Add(model);

                //增加一条新准运卡记录
                CoalTraffic.Model.TT_Navicert model2 = new CoalTraffic.Model.TT_Navicert();
                CoalTraffic.Model.TT_CarInfo modelCarInfo = new CoalTraffic.BLL.TT_CarInfo().GetModel(txtBEmptyCode.Text.Trim().Replace("'", "''"));
                if (model2 != null)
                {
                    model2.NavicertCode = strNavicertCode;
                    model2.RoomCode = modelCarInfo.RoomCode;
                    model2.CarCode = txtBEmptyCode.Text.Trim();
                    model2.CarNo = modelCarInfo.CarNo;
                    model2.CarType = modelCarInfo.CarType;
                    model2.CarOwnerName = modelCarInfo.CarOwnerName;
                    model2.CarOwnerPhone = modelCarInfo.CarOwnerPhone;
                    model2.CarOwnerIDCard = modelCarInfo.CarOwnerIDCard;
                    model2.MostWeight = modelCarInfo.MostWeight;
                    model2.EmptyWeight = modelCarInfo.EmptyWeight;
                    model2.NavicertState = "1";
                    model2.CardType = "1";
                    model2.StartTime = DateTime.Now;
                    model2.EndTime = DateTime.MaxValue;
                    model2.SendPerson = StaticParameter.UserName;
                    model2.ClaimPersonName = txtBClaimPerson.Text.Trim();
                    model2.IsForbid = "0";
                    model2.Remark = txtBRemark.Text.Trim();
                    model2.NavicertNo = strNavicertCode;
                }

                string strSuccess = "";
                strSuccess = bll.Add(model2);
                if (strSuccess != "")
                {
                    //发送消息到磅房
                    //发送修改信息到队列和增加的队列。
                    StringBuilder sbInsert = new StringBuilder();
                    sbInsert.Append("insert into TT_Navicert(NavicertCode,RoomCode,CarCode,CarNo,CarType,CarOwnerName,NavicertState,");
                    sbInsert.Append("CardType,StartTime,EndTime,SendPerson,ClaimPersonName,CarOwnerPhone,CarOwnerIDCard,MostWeight,");
                    sbInsert.Append("EmptyWeight,IsForbid,Remark) values ('" + model2.NavicertCode + "','" + model2.RoomCode + "',");
                    sbInsert.Append("'" + model2.CarCode + "','" + model2.CarNo + "','" + model2.CarType + "','" + model2.CarOwnerName + "',");
                    sbInsert.Append("'" + model2.NavicertState + "','" + model2.CardType + "','" + model2.StartTime + "','" + model2.EndTime + "',");
                    sbInsert.Append("'" + model2.SendPerson + "','" + model2.ClaimPersonName + "','" + model2.CarOwnerPhone + "',");
                    sbInsert.Append("'" + model2.CarOwnerIDCard + "','" + model2.MostWeight + "','" + model2.EmptyWeight + "',");
                    sbInsert.Append("'" + model2.IsForbid + "','" + model2.Remark + "');");
                    sbInsert.Append("update TT_Navicert set NavicertState='3'");
                    sbInsert.Append("where CarCode='" + this.txtBEmptyCode.Text.Trim() + "'and NavicertState='1'");
                    MsmqManage mq = new MsmqManage();
                    string strMq = mq.AllStation + mq.Prefix + "TT_Navicert" + mq.Prefix + mq.AddFlg + mq.Prefix + DateTime.Now.ToString("yyyy-MM-dd hh:mm;ss") + mq.Prefix + sbInsert.ToString();
                    mq.AddMsmq(strMq.ToString());
                    alarmSound.Alarm("准运卡办理成功,即将打印办理凭证");
                    new report.NavicertCardPrint(strSuccess, true).ShowDialog();
                }
            }
        }
        private void btnSend_Click(object sender, EventArgs e)
        {
            if (strFactoryCode == "")
            {
                alarmSound.Alarm("请刷标识卡");
                return;
            }
            CoalTraffic.Model.TT_MarkedCard model = new CoalTraffic.Model.TT_MarkedCard();
            model.CoalKindCode = this.cbxCoalKind.SelectedValue.ToString();
            model.CollCode = this.cbxColl.SelectedValue.ToString();
            model.DepartName = this.txtDepartName.Text.Trim();
            model.Operator = this.txtOperator.Text.Trim();
            model.MarkedCardState = "1";
            model.MarkedCardNo = strExistFactoryCode.TrimEnd('|');
            model.MarkedCardCode = strExistMarkedCode.TrimEnd('|');
            model.SendCardDate = DateTime.Now;
            if (bll.Add(strNewFactoryCode.TrimEnd('|'), strNewMarkedCode.TrimEnd('|'), model))//本地数据库
            {
                #region 数据同步到各磅房--服务器数据库

                StringBuilder strAll = new StringBuilder();
                string[] cardno = null;
                string[] cardcode = null;
                int i = 0;
                string strNewMarkedCardNo = strNewFactoryCode.TrimEnd('|');
                string strNewMarkedCardCode = strNewMarkedCode.TrimEnd('|');
                if (model.MarkedCardNo != "")
                {
                    cardno = model.MarkedCardNo.Split('|');
                    cardcode = model.MarkedCardCode.Split('|');
                    for (i = 0; i < cardno.Length; i++)
                    {
                        strAll.Append("update TT_MarkedCard set ");
                        strAll.Append("CollCode='" + model.CollCode + "',");
                        strAll.Append("CoalKindCode='" + model.CoalKindCode + "',");
                        strAll.Append("MarkedCardState='1',");
                        strAll.Append("SendCardDate='" + model.SendCardDate + "',");
                        strAll.Append("Operator='" + model.Operator + "',");
                        strAll.Append("DepartName='" + model.DepartName + "'");
                        strAll.Append(" where MarkedCardCode='" + cardcode[i] + "';");

                        //往标识卡记录表里添加记录(数据不需要往下同步)
                    }
                }

                if (strNewMarkedCardNo != "")
                {
                    //对数据库中没有的卡号,添加记录
                    cardno = strNewMarkedCardNo.Split('|');
                    cardcode = strNewMarkedCardCode.Split('|');
                    for (i = 0; i < cardno.Length; i++)
                    {
                        strAll.Append("insert into TT_MarkedCard(");
                        strAll.Append("MarkedCardNo,MarkedCardCode,CollCode,CoalKindCode,MarkedCardState,SendCardDate,Operator,DepartName)");
                        strAll.Append(" values (");
                        strAll.Append("'" + cardno[i] + "','" + cardcode[i] + "','" + model.CollCode + "','" + model.CoalKindCode + "','1','" + model.SendCardDate + "','" + model.Operator + "','" + model.DepartName + "');");

                        //往标识卡记录表里添加记录(数据不需要往下同步)
                    }
                }
                MsmqManage mq = new MsmqManage();
                string strMq = mq.AllStation + mq.Prefix + "TT_MarkedCard" + mq.Prefix + mq.AddFlg + mq.Prefix + DateTime.Now.ToString("yyyy-MM-dd hh:mm;ss") + mq.Prefix + strAll.ToString();
                mq.AddMsmq(strMq.ToString());//通过消息队列将数据上传到服务器

                #endregion

                List<string> list=new List<string>();
                list.Add(this.cbxColl.Text);
                list.Add(this.cbxCoalKind.Text);
                list.Add(this.txtAdded.Text.Trim());
                list.Add(this.txtOperator.Text);
                list.Add(model.SendCardDate.ToString());
                list.Add(this.txtDepartName.Text);

                //清空数据,使其可以刷另一张卡
                strNewFactoryCode = "";
                strNewMarkedCode = "";
                strFactoryCode = "";
                strExistFactoryCode = "";
                strExistMarkedCode = "";
                this.txtAdded.Text = "0";
                this.txtBuyCount.Text = "10";
                this.txtMarkedCode.Text = "";

                alarmSound.Alarm("标识卡发放成功,即将打印购买凭证!");
                new Report.MarkedCardPrint(list, "购买").ShowDialog();

            }
            else
                alarmSound.Alarm("标识卡发放失败!");
        }