public int readCard()
        {
            ////读取社保卡数据
            byte[] cardMeassageByte = new byte[225];

            int temR = HardwareInitialClass.GetPosInfo(cardMeassageByte);//等待刷卡

            if (temR == 0)
            {
                message_type = Encoding.ASCII.GetString(cardMeassageByte, 0, 1).Trim();
                user_id      = Encoding.Default.GetString(cardMeassageByte, 1, 8).Trim();
                company_code = Encoding.Default.GetString(cardMeassageByte, 9, 15).Trim();

                holder_id = Encoding.Default.GetString(cardMeassageByte, 24, 19).Trim();
                name      = Encoding.Default.GetString(cardMeassageByte, 43, 10).Trim();
                if (Encoding.Default.GetString(cardMeassageByte, 53, 1).Trim() == "0")
                {
                    sex = "1";
                }
                else
                {
                    sex = "2";
                }
                user_id       = Encoding.Default.GetString(cardMeassageByte, 1, 8).Trim();    //LogClass.WriteLog("user_id:" + user_id);
                birthday      = Encoding.Default.GetString(cardMeassageByte, 54, 8).Trim();   //LogClass.WriteLog("birthday:" + birthday);
                user_type     = Encoding.Default.GetString(cardMeassageByte, 62, 2).Trim();   //LogClass.WriteLog("user_type:" + user_type);
                telephone     = Encoding.Default.GetString(cardMeassageByte, 64, 12).Trim();  // LogClass.WriteLog("telephone:" + telephone);
                blood_type    = Encoding.Default.GetString(cardMeassageByte, 76, 1).Trim();   //LogClass.WriteLog("blood_type:" + blood_type);
                ill_history   = Encoding.Default.GetString(cardMeassageByte, 77, 14).Trim();  //LogClass.WriteLog("ill_history:" + ill_history);
                h_ill_history = Encoding.Default.GetString(cardMeassageByte, 91, 12).Trim();  //LogClass.WriteLog("h_ill_history:" + h_ill_history);
                address1      = Encoding.Default.GetString(cardMeassageByte, 103, 40).Trim(); //LogClass.WriteLog("address1:" + address1);
                post_id       = Encoding.Default.GetString(cardMeassageByte, 143, 6).Trim();  //LogClass.WriteLog("post_id:" + post_id);
                linkman       = Encoding.Default.GetString(cardMeassageByte, 149, 10).Trim(); //LogClass.WriteLog("linkman:" + linkman);
                area_code     = Encoding.Default.GetString(cardMeassageByte, 159, 2).Trim();  //LogClass.WriteLog("area_code:" + area_code);
                cs_amount     = Encoding.Default.GetString(cardMeassageByte, 161, 12).Trim(); //LogClass.WriteLog("cs_amount:" + cs_amount);
                sb_amount     = Encoding.Default.GetString(cardMeassageByte, 173, 12).Trim(); //LogClass.WriteLog("sb_amount:" + sb_amount);
                sp_amount     = Encoding.Default.GetString(cardMeassageByte, 185, 12).Trim(); //LogClass.WriteLog("sp_amount:" + sp_amount);
                zfu_amount    = Encoding.Default.GetString(cardMeassageByte, 197, 12).Trim(); //LogClass.WriteLog("zfu_amount:" + zfu_amount);
                card          = Encoding.Default.GetString(cardMeassageByte, 209, 16).Trim(); //LogClass.WriteLog("card:" + card);
                //LogClass.WriteLog("个账金额:" + sb_amount);
            }
            else
            {
                StringBuilder msg = new StringBuilder();
                HardwareInitialClass.GetErrorMsg(msg);
                return_msg = "社保读卡失败:" + temR + "|" + msg;
                //Xr.Log4net.LogHelper.Info(return_msg);
                //LogClass.WriteLog("社保读卡失败:" + temR + "|" + msg);
                int resetR = HardwareInitialClass.ResetDev();//读卡失败时,进行复位
                //Xr.Log4net.LogHelper.Info("复位结果:" + resetR);
                //LogClass.WriteLog("复位结果:" + resetR);
            }

            return(temR);
        }
        public bool cexiao(string liushuihao)
        {
            StringBuilder tem = new StringBuilder();

            tem.Append(liushuihao);

            int aa = HardwareInitialClass.SaleVoid(tem);

            if (aa != 0)
            {
                HardwareInitialClass.GetErrorMsg(tem);
                return_msg = tem + "";
                Xr.Log4net.LogHelper.Info("撤销失败:" + liushuihao);
                Xr.Log4net.LogHelper.Info("撤销失败:" + liushuihao);
                return(false);
            }
            else
            {
                return(true);
            }
        }
        public bool kougezhang(PosTranClass posTran)
        {
            StringBuilder tem = new StringBuilder();

            tem.Append(posTran.message_type);
            tem.Append(posTran.ill_code);
            tem.Append(posTran.q_amount);
            tem.Append(posTran.p_amount);
            tem.Append(posTran.f_amount);
            tem.Append(posTran.s_amount);
            tem.Append(posTran.c_amount);
            tem.Append(posTran.e_amount);
            tem.Append(posTran.yy_code);
            tem.Append(posTran.flag);
            tem.Append(posTran.datetime);
            Xr.Log4net.LogHelper.Info("个帐参数:" + tem.ToString());
            int aa = HardwareInitialClass.SendPosInfo(tem);

            Xr.Log4net.LogHelper.Info("回参:" + tem);
            string[] resultValue = tem.ToString().Split('|');
            string   result      = resultValue[0];

            if (result != "30")
            {
                posTran = null;
                StringBuilder error = new StringBuilder();
                aa = HardwareInitialClass.GetErrorMsg(error);
                Xr.Log4net.LogHelper.Info("扣个账失败原因:" + error.ToString());
                return_msg = "扣个账失败原因:" + error.ToString();
                return(false);
            }
            else
            {
                string temm = "没有流水号";
                if (resultValue.Length > 1 && resultValue[1] != null)
                {
                    temm = resultValue[1];
                }
                posTran.liushuihao = temm;

                posTran.GRZHKKQYE  = sb_amount;
                posTran.GRZHZF     = posTran.s_amount;
                posTran.GWYTCXEYE  = posTran.e_amount;
                posTran.TSBZKFQYE  = sp_amount;
                posTran.JFLB       = posTran.flag;
                posTran.ZFLJ       = temm;
                posTran.liushuihao = temm;
                return(true);
            }

            //StringBuilder tem = new StringBuilder();
            //tem.Append("1");
            //tem.Append("        ");
            //tem.Append("000000000001");
            //tem.Append("000000000000");
            //tem.Append("000000000001");
            //tem.Append("000000000002");
            //tem.Append("000000000000");
            //tem.Append("000000000000");
            //tem.Append("     ");
            //tem.Append("1");
            //tem.Append("20170307152323");
            //int aa = HardwareInitialClass.SendPosInfo(tem);
            //string result = (tem.ToString().Split('|'))[0]; ;
            //if (result != "30")
            //    posTran = null;
        }